Skip to content

Instantly share code, notes, and snippets.

@tamakiii
Created November 20, 2020 03:24
Show Gist options
  • Save tamakiii/2976b56497bc4313be3d5dd4a8533e03 to your computer and use it in GitHub Desktop.
Save tamakiii/2976b56497bc4313be3d5dd4a8533e03 to your computer and use it in GitHub Desktop.
<?php
// See also: https://github.com/symfony/symfony/blob/3c0cfbcb8cf322666d13bbde4e7cd469c360e6c1/src/Symfony/Component/Form/Extension/Core/DataTransformer/NumberToLocalizedStringTransformer.php
ini_set('xdebug.var_display_max_children', -1);
ini_set('xdebug.var_display_max_data', -1);
ini_set('xdebug.var_display_max_depth', -1);
require __DIR__ . '/NumberFormatterTest.php';
// like: en_US, ja_JP
$locale = $argv[1] ?? (Locale::getDefault() ?: current(array_filter(array_map(
function ($lang) {
return explode('.', $lang)[0];
},
[getenv('LANG'), getenv('LANGUAGE'), getenv('LC_TYPE'), getenv('LC_ALL')]
))));
Locale::setDefault($locale);
$results = [];
foreach (NumberFormatterTest::STYLES as $name => $style) {
$formatter = new NumberFormatter($locale, $style);
$values = [
$formatter->parse(0.00),
$formatter->parse(0.01),
$formatter->parse(100),
$formatter->parse(1000),
$formatter->parse(1000.00),
$formatter->parse(1000.01),
$formatter->parse(1000.001),
$formatter->parse(1000.0001),
$formatter->parse('0.00'),
$formatter->parse('0.01'),
$formatter->parse('100'),
$formatter->parse('1000'),
$formatter->parse('1000.00'),
$formatter->parse('1000.01'),
$formatter->parse('1000.001'),
$formatter->parse('1000.0001'),
];
$results[] = [
'style' => $name,
'pattern' => $formatter->getPattern(),
'rounding' => array_flip(NumberFormatterTest::ATTRIBUTES['rounding'])[$formatter->getAttribute(NumberFormatter::ROUNDING_MODE)] ?? null,
'pad_position' => array_flip(NumberFormatterTest::ATTRIBUTES['pad_position'])[$formatter->getAttribute(NumberFormatter::PADDING_POSITION)] ?? null,
'text' => array_map(
function($attribute) use ($formatter) {
return $formatter->getTextAttribute($attribute);
},
NumberFormatterTest::ATTRIBUTES['text']
),
'symbols' => array_map(
function($attribute) use ($formatter) {
return $formatter->getSymbol($attribute);
},
NumberFormatterTest::ATTRIBUTES['symbol']
),
'format' => array_map(
function($value) use ($formatter) {
return $formatter->format($value);
},
$values
),
'parse' => array_map(
function($value) use ($formatter) {
return $formatter->parse($value);
},
$values
),
];
}
var_dump($results);
<?php
class NumberFormatterTest
{
const STYLES = [
'NumberFormatter::PATTERN_DECIMAL' => NumberFormatter::PATTERN_DECIMAL,
//Decimal format defined by pattern
'NumberFormatter::DECIMAL' => NumberFormatter::DECIMAL,
// Decimal format
'NumberFormatter::CURRENCY' => NumberFormatter::CURRENCY,
// Currency format
'NumberFormatter::PERCENT' => NumberFormatter::PERCENT,
// Percent format
'NumberFormatter::SCIENTIFIC' => NumberFormatter::SCIENTIFIC,
// Scientific format
'NumberFormatter::SPELLOUT' => NumberFormatter::SPELLOUT,
// Spellout rule-based format
'NumberFormatter::ORDINAL' => NumberFormatter::ORDINAL,
// Ordinal rule-based format
'NumberFormatter::DURATION' => NumberFormatter::DURATION,
// Duration rule-based format
// 'NumberFormatter::PATTERN_RULEBASED' => NumberFormatter::PATTERN_RULEBASED,
// // Rule-based format defined by pattern
'NumberFormatter::CURRENCY_ACCOUNTING' => NumberFormatter::CURRENCY_ACCOUNTING,
// Currency format for accounting, e.g., ($3.00) for negative currency amount instead of -$3.00. Available as of PHP 7.4.1 and ICU 53.
'NumberFormatter::DEFAULT_STYLE' => NumberFormatter::DEFAULT_STYLE,
// Default format for the locale
'NumberFormatter::IGNORE' => NumberFormatter::IGNORE,
// Alias for PATTERN_DECIMAL
];
const ATTRIBUTES = [
'parse' => [
'NumberFormatter::TYPE_DEFAULT' => NumberFormatter::TYPE_DEFAULT,
// Derive the type from variable type
'NumberFormatter::TYPE_INT32' => NumberFormatter::TYPE_INT32,
// Format/parse as 32-bit integer
'NumberFormatter::TYPE_INT64' => NumberFormatter::TYPE_INT64,
// Format/parse as 64-bit integer
'NumberFormatter::TYPE_DOUBLE' => NumberFormatter::TYPE_DOUBLE,
// Format/parse as floating point value
'NumberFormatter::TYPE_CURRENCY' => NumberFormatter::TYPE_CURRENCY,
// Format/parse as currency value
],
'numer_format' => [
'NumberFormatter::PARSE_INT_ONLY' => NumberFormatter::PARSE_INT_ONLY,
// Parse integers only.
'NumberFormatter::GROUPING_USED' => NumberFormatter::GROUPING_USED,
// Use grouping separator.
'NumberFormatter::DECIMAL_ALWAYS_SHOWN' => NumberFormatter::DECIMAL_ALWAYS_SHOWN,
// Always show decimal point.
'NumberFormatter::MAX_INTEGER_DIGITS' => NumberFormatter::MAX_INTEGER_DIGITS,
// Maximum integer digits.
'NumberFormatter::MIN_INTEGER_DIGITS' => NumberFormatter::MIN_INTEGER_DIGITS,
// Minimum integer digits.
'NumberFormatter::INTEGER_DIGITS' => NumberFormatter::INTEGER_DIGITS,
// Integer digits.
'NumberFormatter::MAX_FRACTION_DIGITS' => NumberFormatter::MAX_FRACTION_DIGITS,
// Maximum fraction digits.
'NumberFormatter::MIN_FRACTION_DIGITS' => NumberFormatter::MIN_FRACTION_DIGITS,
// Minimum fraction digits.
'NumberFormatter::FRACTION_DIGITS' => NumberFormatter::FRACTION_DIGITS,
// Fraction digits.
'NumberFormatter::MULTIPLIER' => NumberFormatter::MULTIPLIER,
// Multiplier.
'NumberFormatter::GROUPING_SIZE' => NumberFormatter::GROUPING_SIZE,
// Grouping size.
'NumberFormatter::ROUNDING_MODE' => NumberFormatter::ROUNDING_MODE,
// Rounding Mode.
'NumberFormatter::ROUNDING_INCREMENT' => NumberFormatter::ROUNDING_INCREMENT,
// Rounding increment.
'NumberFormatter::FORMAT_WIDTH' => NumberFormatter::FORMAT_WIDTH,
// The width to which the output of format() is padded.
'NumberFormatter::PADDING_POSITION' => NumberFormatter::PADDING_POSITION,
// The position at which padding will take place. See pad position constants for possible argument values.
'NumberFormatter::SECONDARY_GROUPING_SIZE' => NumberFormatter::SECONDARY_GROUPING_SIZE,
// Secondary grouping size.
'NumberFormatter::SIGNIFICANT_DIGITS_USED' => NumberFormatter::SIGNIFICANT_DIGITS_USED,
// Use significant digits.
'NumberFormatter::MIN_SIGNIFICANT_DIGITS' => NumberFormatter::MIN_SIGNIFICANT_DIGITS,
// Minimum significant digits.
'NumberFormatter::MAX_SIGNIFICANT_DIGITS' => NumberFormatter::MAX_SIGNIFICANT_DIGITS,
// Maximum significant digits.
'NumberFormatter::LENIENT_PARSE' => NumberFormatter::LENIENT_PARSE,
// Lenient parse mode used by rule-based formats.
],
'text' => [
'NumberFormatter::POSITIVE_PREFIX' => NumberFormatter::POSITIVE_PREFIX,
// Positive prefix.
'NumberFormatter::POSITIVE_SUFFIX' => NumberFormatter::POSITIVE_SUFFIX,
// Positive suffix.
'NumberFormatter::NEGATIVE_PREFIX' => NumberFormatter::NEGATIVE_PREFIX,
// Negative prefix.
'NumberFormatter::NEGATIVE_SUFFIX' => NumberFormatter::NEGATIVE_SUFFIX,
// Negative suffix.
'NumberFormatter::PADDING_CHARACTER' => NumberFormatter::PADDING_CHARACTER,
// The character used to pad to the format width.
'NumberFormatter::CURRENCY_CODE' => NumberFormatter::CURRENCY_CODE,
// The ISO currency code.
'NumberFormatter::DEFAULT_RULESET' => NumberFormatter::DEFAULT_RULESET,
// The default rule set. This is only available with rule-based formatters.
'NumberFormatter::PUBLIC_RULESETS' => NumberFormatter::PUBLIC_RULESETS,
// The public rule sets. This is only available with rule-based formatters. This is a read-only attribute. The public rulesets are returned as a single string, with each ruleset name delimited by ';' (semicolon).
],
'symbol' => [
'NumberFormatter::DECIMAL_SEPARATOR_SYMBOL' => NumberFormatter::DECIMAL_SEPARATOR_SYMBOL,
// The decimal separator.
'NumberFormatter::GROUPING_SEPARATOR_SYMBOL' => NumberFormatter::GROUPING_SEPARATOR_SYMBOL,
// The grouping separator.
'NumberFormatter::PATTERN_SEPARATOR_SYMBOL' => NumberFormatter::PATTERN_SEPARATOR_SYMBOL,
// The pattern separator.
'NumberFormatter::PERCENT_SYMBOL' => NumberFormatter::PERCENT_SYMBOL,
// The percent sign.
'NumberFormatter::ZERO_DIGIT_SYMBOL' => NumberFormatter::ZERO_DIGIT_SYMBOL,
// Zero.
'NumberFormatter::DIGIT_SYMBOL' => NumberFormatter::DIGIT_SYMBOL,
// Character representing a digit in the pattern.
'NumberFormatter::MINUS_SIGN_SYMBOL' => NumberFormatter::MINUS_SIGN_SYMBOL,
// The minus sign.
'NumberFormatter::PLUS_SIGN_SYMBOL' => NumberFormatter::PLUS_SIGN_SYMBOL,
// The plus sign.
'NumberFormatter::CURRENCY_SYMBOL' => NumberFormatter::CURRENCY_SYMBOL,
// The currency symbol.
'NumberFormatter::INTL_CURRENCY_SYMBOL' => NumberFormatter::INTL_CURRENCY_SYMBOL,
// The international currency symbol.
'NumberFormatter::MONETARY_SEPARATOR_SYMBOL' => NumberFormatter::MONETARY_SEPARATOR_SYMBOL,
// The monetary separator.
'NumberFormatter::EXPONENTIAL_SYMBOL' => NumberFormatter::EXPONENTIAL_SYMBOL,
// The exponential symbol.
'NumberFormatter::PERMILL_SYMBOL' => NumberFormatter::PERMILL_SYMBOL,
// Per mill symbol.
'NumberFormatter::PAD_ESCAPE_SYMBOL' => NumberFormatter::PAD_ESCAPE_SYMBOL,
// Escape padding character.
'NumberFormatter::INFINITY_SYMBOL' => NumberFormatter::INFINITY_SYMBOL,
// Infinity symbol.
'NumberFormatter::NAN_SYMBOL' => NumberFormatter::NAN_SYMBOL,
// Not-a-number symbol.
'NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL' => NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL,
// Significant digit symbol.
'NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL' => NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL,
// The monetary grouping separator.
],
'rounding' => [
'NumberFormatter::ROUNDING_MODE' => NumberFormatter::ROUNDING_MODE,
// attribute.
'NumberFormatter::ROUND_CEILING' => NumberFormatter::ROUND_CEILING,
// Rounding mode to round towards positive infinity.
'NumberFormatter::ROUND_DOWN' => NumberFormatter::ROUND_DOWN,
// Rounding mode to round towards zero.
'NumberFormatter::ROUND_FLOOR' => NumberFormatter::ROUND_FLOOR,
// Rounding mode to round towards negative infinity.
'NumberFormatter::ROUND_HALFDOWN' => NumberFormatter::ROUND_HALFDOWN,
// Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round down.
'NumberFormatter::ROUND_HALFEVEN' => NumberFormatter::ROUND_HALFEVEN,
// Rounding mode to round towards the "nearest neighbor" unless both neighbors are equidistant, in which case, round towards the even neighbor.
'NumberFormatter::ROUND_HALFUP' => NumberFormatter::ROUND_HALFUP,
// Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round up.
'NumberFormatter::ROUND_UP' => NumberFormatter::ROUND_UP,
// Rounding mode to round away from zero.
],
'pad_position' => [
'NumberFormatter::PADDING_POSITION' => NumberFormatter::PADDING_POSITION,
// attribute.
'NumberFormatter::PAD_AFTER_PREFIX '=> NumberFormatter::PAD_AFTER_PREFIX,
// Pad characters inserted after the prefix.
'NumberFormatter::PAD_AFTER_SUFFIX' => NumberFormatter::PAD_AFTER_SUFFIX,
// Pad characters inserted after the suffix.
'NumberFormatter::PAD_BEFORE_PREFIX' => NumberFormatter::PAD_BEFORE_PREFIX,
// Pad characters inserted before the prefix.
'NumberFormatter::PAD_BEFORE_SUFFIX' => NumberFormatter::PAD_BEFORE_SUFFIX,
// Pad characters inserted before the suffix.
],
];
}
@tamakiii
Copy link
Author

$ php main.php ja_JP
/private/tmp/php/main.php:73:
array(11) {
  [0] =>
  array(8) {
    'style' =>
    string(32) "NumberFormatter::PATTERN_DECIMAL"
    'pattern' =>
    string(1) "#"
    'rounding' =>
    string(31) "NumberFormatter::ROUND_HALFEVEN"
    'pad_position' =>
    string(34) "NumberFormatter::PAD_BEFORE_PREFIX"
    'text' =>
    array(8) {
      'NumberFormatter::POSITIVE_PREFIX' =>
      string(0) ""
      'NumberFormatter::POSITIVE_SUFFIX' =>
      string(0) ""
      'NumberFormatter::NEGATIVE_PREFIX' =>
      string(1) "-"
      'NumberFormatter::NEGATIVE_SUFFIX' =>
      string(0) ""
      'NumberFormatter::PADDING_CHARACTER' =>
      string(1) " "
      'NumberFormatter::CURRENCY_CODE' =>
      string(3) "JPY"
      'NumberFormatter::DEFAULT_RULESET' =>
      bool(false)
      'NumberFormatter::PUBLIC_RULESETS' =>
      bool(false)
    }
    'symbols' =>
    array(18) {
      'NumberFormatter::DECIMAL_SEPARATOR_SYMBOL' =>
      string(1) "."
      'NumberFormatter::GROUPING_SEPARATOR_SYMBOL' =>
      string(1) ","
      'NumberFormatter::PATTERN_SEPARATOR_SYMBOL' =>
      string(1) ";"
      'NumberFormatter::PERCENT_SYMBOL' =>
      string(1) "%"
      'NumberFormatter::ZERO_DIGIT_SYMBOL' =>
      string(1) "0"
      'NumberFormatter::DIGIT_SYMBOL' =>
      string(1) "#"
      'NumberFormatter::MINUS_SIGN_SYMBOL' =>
      string(1) "-"
      'NumberFormatter::PLUS_SIGN_SYMBOL' =>
      string(1) "+"
      'NumberFormatter::CURRENCY_SYMBOL' =>
      string(3) ""
      'NumberFormatter::INTL_CURRENCY_SYMBOL' =>
      string(3) "JPY"
      'NumberFormatter::MONETARY_SEPARATOR_SYMBOL' =>
      string(1) "."
      'NumberFormatter::EXPONENTIAL_SYMBOL' =>
      string(1) "E"
      'NumberFormatter::PERMILL_SYMBOL' =>
      string(3) ""
      'NumberFormatter::PAD_ESCAPE_SYMBOL' =>
      string(1) "*"
      'NumberFormatter::INFINITY_SYMBOL' =>
      string(3) ""
      'NumberFormatter::NAN_SYMBOL' =>
      string(3) "NaN"
      'NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL' =>
      string(1) "@"
      'NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL' =>
      string(1) ","
    }
    'format' =>
    array(16) {
      [0] =>
      string(1) "0"
      [1] =>
      string(4) "0.01"
      [2] =>
      string(3) "100"
      [3] =>
      string(4) "1000"
      [4] =>
      string(4) "1000"
      [5] =>
      string(7) "1000.01"
      [6] =>
      string(8) "1000.001"
      [7] =>
      string(9) "1000.0001"
      [8] =>
      string(1) "0"
      [9] =>
      string(4) "0.01"
      [10] =>
      string(3) "100"
      [11] =>
      string(4) "1000"
      [12] =>
      string(4) "1000"
      [13] =>
      string(7) "1000.01"
      [14] =>
      string(8) "1000.001"
      [15] =>
      string(9) "1000.0001"
    }
    'parse' =>
    array(16) {
      [0] =>
      double(0)
      [1] =>
      double(0.01)
      [2] =>
      double(100)
      [3] =>
      double(1000)
      [4] =>
      double(1000)
      [5] =>
      double(1000.01)
      [6] =>
      double(1000.001)
      [7] =>
      double(1000.0001)
      [8] =>
      double(0)
      [9] =>
      double(0.01)
      [10] =>
      double(100)
      [11] =>
      double(1000)
      [12] =>
      double(1000)
      [13] =>
      double(1000.01)
      [14] =>
      double(1000.001)
      [15] =>
      double(1000.0001)
    }
  }
  [1] =>
  array(8) {
    'style' =>
    string(24) "NumberFormatter::DECIMAL"
    'pattern' =>
    string(9) "#,##0.###"
    'rounding' =>
    string(31) "NumberFormatter::ROUND_HALFEVEN"
    'pad_position' =>
    string(34) "NumberFormatter::PAD_BEFORE_PREFIX"
    'text' =>
    array(8) {
      'NumberFormatter::POSITIVE_PREFIX' =>
      string(0) ""
      'NumberFormatter::POSITIVE_SUFFIX' =>
      string(0) ""
      'NumberFormatter::NEGATIVE_PREFIX' =>
      string(1) "-"
      'NumberFormatter::NEGATIVE_SUFFIX' =>
      string(0) ""
      'NumberFormatter::PADDING_CHARACTER' =>
      string(1) " "
      'NumberFormatter::CURRENCY_CODE' =>
      string(3) "JPY"
      'NumberFormatter::DEFAULT_RULESET' =>
      bool(false)
      'NumberFormatter::PUBLIC_RULESETS' =>
      bool(false)
    }
    'symbols' =>
    array(18) {
      'NumberFormatter::DECIMAL_SEPARATOR_SYMBOL' =>
      string(1) "."
      'NumberFormatter::GROUPING_SEPARATOR_SYMBOL' =>
      string(1) ","
      'NumberFormatter::PATTERN_SEPARATOR_SYMBOL' =>
      string(1) ";"
      'NumberFormatter::PERCENT_SYMBOL' =>
      string(1) "%"
      'NumberFormatter::ZERO_DIGIT_SYMBOL' =>
      string(1) "0"
      'NumberFormatter::DIGIT_SYMBOL' =>
      string(1) "#"
      'NumberFormatter::MINUS_SIGN_SYMBOL' =>
      string(1) "-"
      'NumberFormatter::PLUS_SIGN_SYMBOL' =>
      string(1) "+"
      'NumberFormatter::CURRENCY_SYMBOL' =>
      string(3) ""
      'NumberFormatter::INTL_CURRENCY_SYMBOL' =>
      string(3) "JPY"
      'NumberFormatter::MONETARY_SEPARATOR_SYMBOL' =>
      string(1) "."
      'NumberFormatter::EXPONENTIAL_SYMBOL' =>
      string(1) "E"
      'NumberFormatter::PERMILL_SYMBOL' =>
      string(3) ""
      'NumberFormatter::PAD_ESCAPE_SYMBOL' =>
      string(1) "*"
      'NumberFormatter::INFINITY_SYMBOL' =>
      string(3) ""
      'NumberFormatter::NAN_SYMBOL' =>
      string(3) "NaN"
      'NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL' =>
      string(1) "@"
      'NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL' =>
      string(1) ","
    }
    'format' =>
    array(16) {
      [0] =>
      string(1) "0"
      [1] =>
      string(4) "0.01"
      [2] =>
      string(3) "100"
      [3] =>
      string(5) "1,000"
      [4] =>
      string(5) "1,000"
      [5] =>
      string(8) "1,000.01"
      [6] =>
      string(9) "1,000.001"
      [7] =>
      string(5) "1,000"
      [8] =>
      string(1) "0"
      [9] =>
      string(4) "0.01"
      [10] =>
      string(3) "100"
      [11] =>
      string(5) "1,000"
      [12] =>
      string(5) "1,000"
      [13] =>
      string(8) "1,000.01"
      [14] =>
      string(9) "1,000.001"
      [15] =>
      string(5) "1,000"
    }
    'parse' =>
    array(16) {
      [0] =>
      double(0)
      [1] =>
      double(0.01)
      [2] =>
      double(100)
      [3] =>
      double(1000)
      [4] =>
      double(1000)
      [5] =>
      double(1000.01)
      [6] =>
      double(1000.001)
      [7] =>
      double(1000.0001)
      [8] =>
      double(0)
      [9] =>
      double(0.01)
      [10] =>
      double(100)
      [11] =>
      double(1000)
      [12] =>
      double(1000)
      [13] =>
      double(1000.01)
      [14] =>
      double(1000.001)
      [15] =>
      double(1000.0001)
    }
  }
  [2] =>
  array(8) {
    'style' =>
    string(25) "NumberFormatter::CURRENCY"
    'pattern' =>
    string(7) "¤#,##0"
    'rounding' =>
    string(31) "NumberFormatter::ROUND_HALFEVEN"
    'pad_position' =>
    string(34) "NumberFormatter::PAD_BEFORE_PREFIX"
    'text' =>
    array(8) {
      'NumberFormatter::POSITIVE_PREFIX' =>
      string(3) ""
      'NumberFormatter::POSITIVE_SUFFIX' =>
      string(0) ""
      'NumberFormatter::NEGATIVE_PREFIX' =>
      string(4) "-¥"
      'NumberFormatter::NEGATIVE_SUFFIX' =>
      string(0) ""
      'NumberFormatter::PADDING_CHARACTER' =>
      string(1) " "
      'NumberFormatter::CURRENCY_CODE' =>
      string(3) "JPY"
      'NumberFormatter::DEFAULT_RULESET' =>
      bool(false)
      'NumberFormatter::PUBLIC_RULESETS' =>
      bool(false)
    }
    'symbols' =>
    array(18) {
      'NumberFormatter::DECIMAL_SEPARATOR_SYMBOL' =>
      string(1) "."
      'NumberFormatter::GROUPING_SEPARATOR_SYMBOL' =>
      string(1) ","
      'NumberFormatter::PATTERN_SEPARATOR_SYMBOL' =>
      string(1) ";"
      'NumberFormatter::PERCENT_SYMBOL' =>
      string(1) "%"
      'NumberFormatter::ZERO_DIGIT_SYMBOL' =>
      string(1) "0"
      'NumberFormatter::DIGIT_SYMBOL' =>
      string(1) "#"
      'NumberFormatter::MINUS_SIGN_SYMBOL' =>
      string(1) "-"
      'NumberFormatter::PLUS_SIGN_SYMBOL' =>
      string(1) "+"
      'NumberFormatter::CURRENCY_SYMBOL' =>
      string(3) ""
      'NumberFormatter::INTL_CURRENCY_SYMBOL' =>
      string(3) "JPY"
      'NumberFormatter::MONETARY_SEPARATOR_SYMBOL' =>
      string(1) "."
      'NumberFormatter::EXPONENTIAL_SYMBOL' =>
      string(1) "E"
      'NumberFormatter::PERMILL_SYMBOL' =>
      string(3) ""
      'NumberFormatter::PAD_ESCAPE_SYMBOL' =>
      string(1) "*"
      'NumberFormatter::INFINITY_SYMBOL' =>
      string(3) ""
      'NumberFormatter::NAN_SYMBOL' =>
      string(3) "NaN"
      'NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL' =>
      string(1) "@"
      'NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL' =>
      string(1) ","
    }
    'format' =>
    array(16) {
      [0] =>
      string(4) "¥0"
      [1] =>
      string(4) "¥0"
      [2] =>
      string(4) "¥0"
      [3] =>
      string(4) "¥0"
      [4] =>
      string(4) "¥0"
      [5] =>
      string(4) "¥0"
      [6] =>
      string(4) "¥0"
      [7] =>
      string(4) "¥0"
      [8] =>
      string(4) "¥0"
      [9] =>
      string(4) "¥0"
      [10] =>
      string(4) "¥0"
      [11] =>
      string(4) "¥0"
      [12] =>
      string(4) "¥0"
      [13] =>
      string(4) "¥0"
      [14] =>
      string(4) "¥0"
      [15] =>
      string(4) "¥0"
    }
    'parse' =>
    array(16) {
      [0] =>
      bool(false)
      [1] =>
      bool(false)
      [2] =>
      bool(false)
      [3] =>
      bool(false)
      [4] =>
      bool(false)
      [5] =>
      bool(false)
      [6] =>
      bool(false)
      [7] =>
      bool(false)
      [8] =>
      bool(false)
      [9] =>
      bool(false)
      [10] =>
      bool(false)
      [11] =>
      bool(false)
      [12] =>
      bool(false)
      [13] =>
      bool(false)
      [14] =>
      bool(false)
      [15] =>
      bool(false)
    }
  }
  [3] =>
  array(8) {
    'style' =>
    string(24) "NumberFormatter::PERCENT"
    'pattern' =>
    string(6) "#,##0%"
    'rounding' =>
    string(31) "NumberFormatter::ROUND_HALFEVEN"
    'pad_position' =>
    string(34) "NumberFormatter::PAD_BEFORE_PREFIX"
    'text' =>
    array(8) {
      'NumberFormatter::POSITIVE_PREFIX' =>
      string(0) ""
      'NumberFormatter::POSITIVE_SUFFIX' =>
      string(1) "%"
      'NumberFormatter::NEGATIVE_PREFIX' =>
      string(1) "-"
      'NumberFormatter::NEGATIVE_SUFFIX' =>
      string(1) "%"
      'NumberFormatter::PADDING_CHARACTER' =>
      string(1) " "
      'NumberFormatter::CURRENCY_CODE' =>
      string(3) "JPY"
      'NumberFormatter::DEFAULT_RULESET' =>
      bool(false)
      'NumberFormatter::PUBLIC_RULESETS' =>
      bool(false)
    }
    'symbols' =>
    array(18) {
      'NumberFormatter::DECIMAL_SEPARATOR_SYMBOL' =>
      string(1) "."
      'NumberFormatter::GROUPING_SEPARATOR_SYMBOL' =>
      string(1) ","
      'NumberFormatter::PATTERN_SEPARATOR_SYMBOL' =>
      string(1) ";"
      'NumberFormatter::PERCENT_SYMBOL' =>
      string(1) "%"
      'NumberFormatter::ZERO_DIGIT_SYMBOL' =>
      string(1) "0"
      'NumberFormatter::DIGIT_SYMBOL' =>
      string(1) "#"
      'NumberFormatter::MINUS_SIGN_SYMBOL' =>
      string(1) "-"
      'NumberFormatter::PLUS_SIGN_SYMBOL' =>
      string(1) "+"
      'NumberFormatter::CURRENCY_SYMBOL' =>
      string(3) ""
      'NumberFormatter::INTL_CURRENCY_SYMBOL' =>
      string(3) "JPY"
      'NumberFormatter::MONETARY_SEPARATOR_SYMBOL' =>
      string(1) "."
      'NumberFormatter::EXPONENTIAL_SYMBOL' =>
      string(1) "E"
      'NumberFormatter::PERMILL_SYMBOL' =>
      string(3) ""
      'NumberFormatter::PAD_ESCAPE_SYMBOL' =>
      string(1) "*"
      'NumberFormatter::INFINITY_SYMBOL' =>
      string(3) ""
      'NumberFormatter::NAN_SYMBOL' =>
      string(3) "NaN"
      'NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL' =>
      string(1) "@"
      'NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL' =>
      string(1) ","
    }
    'format' =>
    array(16) {
      [0] =>
      string(2) "0%"
      [1] =>
      string(2) "0%"
      [2] =>
      string(2) "0%"
      [3] =>
      string(2) "0%"
      [4] =>
      string(2) "0%"
      [5] =>
      string(2) "0%"
      [6] =>
      string(2) "0%"
      [7] =>
      string(2) "0%"
      [8] =>
      string(2) "0%"
      [9] =>
      string(2) "0%"
      [10] =>
      string(2) "0%"
      [11] =>
      string(2) "0%"
      [12] =>
      string(2) "0%"
      [13] =>
      string(2) "0%"
      [14] =>
      string(2) "0%"
      [15] =>
      string(2) "0%"
    }
    'parse' =>
    array(16) {
      [0] =>
      bool(false)
      [1] =>
      bool(false)
      [2] =>
      bool(false)
      [3] =>
      bool(false)
      [4] =>
      bool(false)
      [5] =>
      bool(false)
      [6] =>
      bool(false)
      [7] =>
      bool(false)
      [8] =>
      bool(false)
      [9] =>
      bool(false)
      [10] =>
      bool(false)
      [11] =>
      bool(false)
      [12] =>
      bool(false)
      [13] =>
      bool(false)
      [14] =>
      bool(false)
      [15] =>
      bool(false)
    }
  }
  [4] =>
  array(8) {
    'style' =>
    string(27) "NumberFormatter::SCIENTIFIC"
    'pattern' =>
    string(3) "#E0"
    'rounding' =>
    string(31) "NumberFormatter::ROUND_HALFEVEN"
    'pad_position' =>
    string(34) "NumberFormatter::PAD_BEFORE_PREFIX"
    'text' =>
    array(8) {
      'NumberFormatter::POSITIVE_PREFIX' =>
      string(0) ""
      'NumberFormatter::POSITIVE_SUFFIX' =>
      string(0) ""
      'NumberFormatter::NEGATIVE_PREFIX' =>
      string(1) "-"
      'NumberFormatter::NEGATIVE_SUFFIX' =>
      string(0) ""
      'NumberFormatter::PADDING_CHARACTER' =>
      string(1) " "
      'NumberFormatter::CURRENCY_CODE' =>
      string(3) "JPY"
      'NumberFormatter::DEFAULT_RULESET' =>
      bool(false)
      'NumberFormatter::PUBLIC_RULESETS' =>
      bool(false)
    }
    'symbols' =>
    array(18) {
      'NumberFormatter::DECIMAL_SEPARATOR_SYMBOL' =>
      string(1) "."
      'NumberFormatter::GROUPING_SEPARATOR_SYMBOL' =>
      string(1) ","
      'NumberFormatter::PATTERN_SEPARATOR_SYMBOL' =>
      string(1) ";"
      'NumberFormatter::PERCENT_SYMBOL' =>
      string(1) "%"
      'NumberFormatter::ZERO_DIGIT_SYMBOL' =>
      string(1) "0"
      'NumberFormatter::DIGIT_SYMBOL' =>
      string(1) "#"
      'NumberFormatter::MINUS_SIGN_SYMBOL' =>
      string(1) "-"
      'NumberFormatter::PLUS_SIGN_SYMBOL' =>
      string(1) "+"
      'NumberFormatter::CURRENCY_SYMBOL' =>
      string(3) ""
      'NumberFormatter::INTL_CURRENCY_SYMBOL' =>
      string(3) "JPY"
      'NumberFormatter::MONETARY_SEPARATOR_SYMBOL' =>
      string(1) "."
      'NumberFormatter::EXPONENTIAL_SYMBOL' =>
      string(1) "E"
      'NumberFormatter::PERMILL_SYMBOL' =>
      string(3) ""
      'NumberFormatter::PAD_ESCAPE_SYMBOL' =>
      string(1) "*"
      'NumberFormatter::INFINITY_SYMBOL' =>
      string(3) ""
      'NumberFormatter::NAN_SYMBOL' =>
      string(3) "NaN"
      'NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL' =>
      string(1) "@"
      'NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL' =>
      string(1) ","
    }
    'format' =>
    array(16) {
      [0] =>
      string(3) "0E0"
      [1] =>
      string(4) "1E-2"
      [2] =>
      string(3) "1E2"
      [3] =>
      string(3) "1E3"
      [4] =>
      string(3) "1E3"
      [5] =>
      string(9) "1.00001E3"
      [6] =>
      string(10) "1.000001E3"
      [7] =>
      string(11) "1.0000001E3"
      [8] =>
      string(3) "0E0"
      [9] =>
      string(4) "1E-2"
      [10] =>
      string(3) "1E2"
      [11] =>
      string(3) "1E3"
      [12] =>
      string(3) "1E3"
      [13] =>
      string(9) "1.00001E3"
      [14] =>
      string(10) "1.000001E3"
      [15] =>
      string(11) "1.0000001E3"
    }
    'parse' =>
    array(16) {
      [0] =>
      double(0)
      [1] =>
      double(0.01)
      [2] =>
      double(100)
      [3] =>
      double(1000)
      [4] =>
      double(1000)
      [5] =>
      double(1000.01)
      [6] =>
      double(1000.001)
      [7] =>
      double(1000.0001)
      [8] =>
      double(0)
      [9] =>
      double(0.01)
      [10] =>
      double(100)
      [11] =>
      double(1000)
      [12] =>
      double(1000)
      [13] =>
      double(1000.01)
      [14] =>
      double(1000.001)
      [15] =>
      double(1000.0001)
    }
  }
  [5] =>
  array(8) {
    'style' =>
    string(25) "NumberFormatter::SPELLOUT"
    'pattern' =>
    string(2641) "%spellout-numbering-year-latn:
0: =0=;
1: 元;
2: =0=;
x.x: =0.0=;
%spellout-numbering-year:
0: =%spellout-numbering=;
1: 元;
2: =%spellout-numbering=;
1000: =%%spellout-numbering-year-digits=;
10000: =%spellout-numbering=;
x.x: =0.0=;
%%spellout-numbering-year-digits:
0: =%spellout-numbering=;
10: <%%spellout-numbering-year-digits<>>>;
100: <%%spellout-numbering-year-digits<>>>;
1000: <%%spellout-numbering-year-digits<>>>;
%spellout-numbering:
0: =%spellout-cardinal=;
%spellout-cardinal-financial:
0: 零;
1: 壱;
2: 弐;
3: 参;
4: 四;
5: 伍;
6: 六;
7: 七;
8: 八;
9: 九;
10: 拾;
11: 拾>%spellout-cardinal-financial>;
20: <%spellout-cardinal-financial<拾;
21: <%spellout-cardinal-financial<拾>%spellout-cardinal-financial>;
100: <%spellout-cardinal-financial<百;
101: <%spellout-cardinal-financial<百>%spellout-cardinal-financial>;
1000: <%spellout-cardinal-financial<千;
1001: <%spellout-cardinal-financial<千>%spellout-cardinal-financial>;
10000: <%spellout-cardinal-financial<萬;
10001: <%spellout-cardinal-financial<萬>%spellout-cardinal-financial>;
100000000: <%spellout-cardinal-financial<億;
100000001: <%spellout-cardinal-financial<億>%spellout-cardinal-financial>;
1000000000000: <%spellout-cardinal-financial<兆;
1000000000001: <%spellout-cardinal-financial<兆>%spellout-cardinal-financial>;
10000000000000000: <%spellout-cardinal-financial<京;
10000000000000001: <%spellout-cardinal-financial<京>%spellout-cardinal-financial>;
1000000000000000000: =#,##0=;
-x: マイナス>%spellout-cardinal-financial>;
x.x: <%spellout-cardinal-financial<点>%spellout-cardinal-financial>;
%spellout-cardinal:
0: 〇;
1: 一;
2: 二;
3: 三;
4: 四;
5: 五;
6: 六;
7: 七;
8: 八;
9: 九;
10: 十;
11: 十>%spellout-cardinal>;
20: <%spellout-cardinal<十;
21: <%spellout-cardinal<十>%spellout-cardinal>;
100: 百;
101: 百>%spellout-cardinal>;
200: <%spellout-cardinal<百;
201: <%spellout-cardinal<百>%spellout-cardinal>;
1000: 千;
1001: 千>%spellout-cardinal>;
2000: <%spellout-cardinal<千;
2001: <%spellout-cardinal<千>%spellout-cardinal>;
10000: <%spellout-cardinal<万;
10001: <%spellout-cardinal<万>%spellout-cardinal>;
100000000: <%spellout-cardinal<億;
100000001: <%spellout-cardinal<億>%spellout-cardinal>;
1000000000000: <%spellout-cardinal<兆;
1000000000001: <%spellout-cardinal<兆>%spellout-cardinal>;
10000000000000000: <%spellout-cardinal<京;
10000000000000001: <%spellout-cardinal<京>%spellout-cardinal>;
1000000000000000000: =#,##0=;
-x: マイナス>%spellout-cardinal>;
x.x: <%spellout-cardinal<・>%spellout-cardinal>;
%spellout-ordinal:
0: 第=%spellout-numbering=;
x.x: =#,##0.#=;
"
    'rounding' =>
    NULL
    'pad_position' =>
    string(34) "NumberFormatter::PAD_BEFORE_PREFIX"
    'text' =>
    array(8) {
      'NumberFormatter::POSITIVE_PREFIX' =>
      bool(false)
      'NumberFormatter::POSITIVE_SUFFIX' =>
      bool(false)
      'NumberFormatter::NEGATIVE_PREFIX' =>
      bool(false)
      'NumberFormatter::NEGATIVE_SUFFIX' =>
      bool(false)
      'NumberFormatter::PADDING_CHARACTER' =>
      bool(false)
      'NumberFormatter::CURRENCY_CODE' =>
      bool(false)
      'NumberFormatter::DEFAULT_RULESET' =>
      string(19) "%spellout-numbering"
      'NumberFormatter::PUBLIC_RULESETS' =>
      string(141) "%spellout-numbering-year-latn;%spellout-numbering-year;%spellout-numbering;%spellout-cardinal-financial;%spellout-cardinal;%spellout-ordinal;"
    }
    'symbols' =>
    array(18) {
      'NumberFormatter::DECIMAL_SEPARATOR_SYMBOL' =>
      bool(false)
      'NumberFormatter::GROUPING_SEPARATOR_SYMBOL' =>
      bool(false)
      'NumberFormatter::PATTERN_SEPARATOR_SYMBOL' =>
      bool(false)
      'NumberFormatter::PERCENT_SYMBOL' =>
      bool(false)
      'NumberFormatter::ZERO_DIGIT_SYMBOL' =>
      bool(false)
      'NumberFormatter::DIGIT_SYMBOL' =>
      bool(false)
      'NumberFormatter::MINUS_SIGN_SYMBOL' =>
      bool(false)
      'NumberFormatter::PLUS_SIGN_SYMBOL' =>
      bool(false)
      'NumberFormatter::CURRENCY_SYMBOL' =>
      bool(false)
      'NumberFormatter::INTL_CURRENCY_SYMBOL' =>
      bool(false)
      'NumberFormatter::MONETARY_SEPARATOR_SYMBOL' =>
      bool(false)
      'NumberFormatter::EXPONENTIAL_SYMBOL' =>
      bool(false)
      'NumberFormatter::PERMILL_SYMBOL' =>
      bool(false)
      'NumberFormatter::PAD_ESCAPE_SYMBOL' =>
      bool(false)
      'NumberFormatter::INFINITY_SYMBOL' =>
      bool(false)
      'NumberFormatter::NAN_SYMBOL' =>
      bool(false)
      'NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL' =>
      bool(false)
      'NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL' =>
      bool(false)
    }
    'format' =>
    array(16) {
      [0] =>
      string(3) ""
      [1] =>
      string(12) "〇・〇一"
      [2] =>
      string(3) ""
      [3] =>
      string(3) ""
      [4] =>
      string(3) ""
      [5] =>
      string(12) "千・〇一"
      [6] =>
      string(15) "千・〇〇一"
      [7] =>
      string(18) "千・〇〇〇一"
      [8] =>
      string(3) ""
      [9] =>
      string(12) "〇・〇一"
      [10] =>
      string(3) ""
      [11] =>
      string(3) ""
      [12] =>
      string(3) ""
      [13] =>
      string(12) "千・〇一"
      [14] =>
      string(15) "千・〇〇一"
      [15] =>
      string(18) "千・〇〇〇一"
    }
    'parse' =>
    array(16) {
      [0] =>
      double(0)
      [1] =>
      double(0.01)
      [2] =>
      double(100)
      [3] =>
      double(1000)
      [4] =>
      double(1000)
      [5] =>
      double(1000.01)
      [6] =>
      double(1000.001)
      [7] =>
      double(1000.0001)
      [8] =>
      double(0)
      [9] =>
      double(0.01)
      [10] =>
      double(100)
      [11] =>
      double(1000)
      [12] =>
      double(1000)
      [13] =>
      double(1000.01)
      [14] =>
      double(1000.001)
      [15] =>
      double(1000.0001)
    }
  }
  [6] =>
  array(8) {
    'style' =>
    string(24) "NumberFormatter::ORDINAL"
    'pattern' =>
    string(51) "%digits-ordinal:
0: 第=#,##0=;
-x: 第−>#,##0>;
"
    'rounding' =>
    NULL
    'pad_position' =>
    string(34) "NumberFormatter::PAD_BEFORE_PREFIX"
    'text' =>
    array(8) {
      'NumberFormatter::POSITIVE_PREFIX' =>
      bool(false)
      'NumberFormatter::POSITIVE_SUFFIX' =>
      bool(false)
      'NumberFormatter::NEGATIVE_PREFIX' =>
      bool(false)
      'NumberFormatter::NEGATIVE_SUFFIX' =>
      bool(false)
      'NumberFormatter::PADDING_CHARACTER' =>
      bool(false)
      'NumberFormatter::CURRENCY_CODE' =>
      bool(false)
      'NumberFormatter::DEFAULT_RULESET' =>
      string(15) "%digits-ordinal"
      'NumberFormatter::PUBLIC_RULESETS' =>
      string(16) "%digits-ordinal;"
    }
    'symbols' =>
    array(18) {
      'NumberFormatter::DECIMAL_SEPARATOR_SYMBOL' =>
      bool(false)
      'NumberFormatter::GROUPING_SEPARATOR_SYMBOL' =>
      bool(false)
      'NumberFormatter::PATTERN_SEPARATOR_SYMBOL' =>
      bool(false)
      'NumberFormatter::PERCENT_SYMBOL' =>
      bool(false)
      'NumberFormatter::ZERO_DIGIT_SYMBOL' =>
      bool(false)
      'NumberFormatter::DIGIT_SYMBOL' =>
      bool(false)
      'NumberFormatter::MINUS_SIGN_SYMBOL' =>
      bool(false)
      'NumberFormatter::PLUS_SIGN_SYMBOL' =>
      bool(false)
      'NumberFormatter::CURRENCY_SYMBOL' =>
      bool(false)
      'NumberFormatter::INTL_CURRENCY_SYMBOL' =>
      bool(false)
      'NumberFormatter::MONETARY_SEPARATOR_SYMBOL' =>
      bool(false)
      'NumberFormatter::EXPONENTIAL_SYMBOL' =>
      bool(false)
      'NumberFormatter::PERMILL_SYMBOL' =>
      bool(false)
      'NumberFormatter::PAD_ESCAPE_SYMBOL' =>
      bool(false)
      'NumberFormatter::INFINITY_SYMBOL' =>
      bool(false)
      'NumberFormatter::NAN_SYMBOL' =>
      bool(false)
      'NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL' =>
      bool(false)
      'NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL' =>
      bool(false)
    }
    'format' =>
    array(16) {
      [0] =>
      string(4) "第0"
      [1] =>
      string(4) "第0"
      [2] =>
      string(4) "第0"
      [3] =>
      string(4) "第0"
      [4] =>
      string(4) "第0"
      [5] =>
      string(4) "第0"
      [6] =>
      string(4) "第0"
      [7] =>
      string(4) "第0"
      [8] =>
      string(4) "第0"
      [9] =>
      string(4) "第0"
      [10] =>
      string(4) "第0"
      [11] =>
      string(4) "第0"
      [12] =>
      string(4) "第0"
      [13] =>
      string(4) "第0"
      [14] =>
      string(4) "第0"
      [15] =>
      string(4) "第0"
    }
    'parse' =>
    array(16) {
      [0] =>
      bool(false)
      [1] =>
      bool(false)
      [2] =>
      bool(false)
      [3] =>
      bool(false)
      [4] =>
      bool(false)
      [5] =>
      bool(false)
      [6] =>
      bool(false)
      [7] =>
      bool(false)
      [8] =>
      bool(false)
      [9] =>
      bool(false)
      [10] =>
      bool(false)
      [11] =>
      bool(false)
      [12] =>
      bool(false)
      [13] =>
      bool(false)
      [14] =>
      bool(false)
      [15] =>
      bool(false)
    }
  }
  [7] =>
  array(8) {
    'style' =>
    string(25) "NumberFormatter::DURATION"
    'pattern' =>
    string(23) "%duration:
0: =#,##0=;
"
    'rounding' =>
    NULL
    'pad_position' =>
    string(34) "NumberFormatter::PAD_BEFORE_PREFIX"
    'text' =>
    array(8) {
      'NumberFormatter::POSITIVE_PREFIX' =>
      bool(false)
      'NumberFormatter::POSITIVE_SUFFIX' =>
      bool(false)
      'NumberFormatter::NEGATIVE_PREFIX' =>
      bool(false)
      'NumberFormatter::NEGATIVE_SUFFIX' =>
      bool(false)
      'NumberFormatter::PADDING_CHARACTER' =>
      bool(false)
      'NumberFormatter::CURRENCY_CODE' =>
      bool(false)
      'NumberFormatter::DEFAULT_RULESET' =>
      string(9) "%duration"
      'NumberFormatter::PUBLIC_RULESETS' =>
      string(10) "%duration;"
    }
    'symbols' =>
    array(18) {
      'NumberFormatter::DECIMAL_SEPARATOR_SYMBOL' =>
      bool(false)
      'NumberFormatter::GROUPING_SEPARATOR_SYMBOL' =>
      bool(false)
      'NumberFormatter::PATTERN_SEPARATOR_SYMBOL' =>
      bool(false)
      'NumberFormatter::PERCENT_SYMBOL' =>
      bool(false)
      'NumberFormatter::ZERO_DIGIT_SYMBOL' =>
      bool(false)
      'NumberFormatter::DIGIT_SYMBOL' =>
      bool(false)
      'NumberFormatter::MINUS_SIGN_SYMBOL' =>
      bool(false)
      'NumberFormatter::PLUS_SIGN_SYMBOL' =>
      bool(false)
      'NumberFormatter::CURRENCY_SYMBOL' =>
      bool(false)
      'NumberFormatter::INTL_CURRENCY_SYMBOL' =>
      bool(false)
      'NumberFormatter::MONETARY_SEPARATOR_SYMBOL' =>
      bool(false)
      'NumberFormatter::EXPONENTIAL_SYMBOL' =>
      bool(false)
      'NumberFormatter::PERMILL_SYMBOL' =>
      bool(false)
      'NumberFormatter::PAD_ESCAPE_SYMBOL' =>
      bool(false)
      'NumberFormatter::INFINITY_SYMBOL' =>
      bool(false)
      'NumberFormatter::NAN_SYMBOL' =>
      bool(false)
      'NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL' =>
      bool(false)
      'NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL' =>
      bool(false)
    }
    'format' =>
    array(16) {
      [0] =>
      string(1) "0"
      [1] =>
      string(1) "0"
      [2] =>
      string(3) "100"
      [3] =>
      string(5) "1,000"
      [4] =>
      string(5) "1,000"
      [5] =>
      string(5) "1,000"
      [6] =>
      string(5) "1,000"
      [7] =>
      string(5) "1,000"
      [8] =>
      string(1) "0"
      [9] =>
      string(1) "0"
      [10] =>
      string(3) "100"
      [11] =>
      string(5) "1,000"
      [12] =>
      string(5) "1,000"
      [13] =>
      string(5) "1,000"
      [14] =>
      string(5) "1,000"
      [15] =>
      string(5) "1,000"
    }
    'parse' =>
    array(16) {
      [0] =>
      double(0)
      [1] =>
      double(0.01)
      [2] =>
      double(100)
      [3] =>
      double(1000)
      [4] =>
      double(1000)
      [5] =>
      double(1000.01)
      [6] =>
      double(1000.001)
      [7] =>
      double(1000.0001)
      [8] =>
      double(0)
      [9] =>
      double(0.01)
      [10] =>
      double(100)
      [11] =>
      double(1000)
      [12] =>
      double(1000)
      [13] =>
      double(1000.01)
      [14] =>
      double(1000.001)
      [15] =>
      double(1000.0001)
    }
  }
  [8] =>
  array(8) {
    'style' =>
    string(36) "NumberFormatter::CURRENCY_ACCOUNTING"
    'pattern' =>
    string(17) "¤#,##0;(¤#,##0)"
    'rounding' =>
    string(31) "NumberFormatter::ROUND_HALFEVEN"
    'pad_position' =>
    string(34) "NumberFormatter::PAD_BEFORE_PREFIX"
    'text' =>
    array(8) {
      'NumberFormatter::POSITIVE_PREFIX' =>
      string(3) ""
      'NumberFormatter::POSITIVE_SUFFIX' =>
      string(0) ""
      'NumberFormatter::NEGATIVE_PREFIX' =>
      string(4) "(¥"
      'NumberFormatter::NEGATIVE_SUFFIX' =>
      string(1) ")"
      'NumberFormatter::PADDING_CHARACTER' =>
      string(1) " "
      'NumberFormatter::CURRENCY_CODE' =>
      string(3) "JPY"
      'NumberFormatter::DEFAULT_RULESET' =>
      bool(false)
      'NumberFormatter::PUBLIC_RULESETS' =>
      bool(false)
    }
    'symbols' =>
    array(18) {
      'NumberFormatter::DECIMAL_SEPARATOR_SYMBOL' =>
      string(1) "."
      'NumberFormatter::GROUPING_SEPARATOR_SYMBOL' =>
      string(1) ","
      'NumberFormatter::PATTERN_SEPARATOR_SYMBOL' =>
      string(1) ";"
      'NumberFormatter::PERCENT_SYMBOL' =>
      string(1) "%"
      'NumberFormatter::ZERO_DIGIT_SYMBOL' =>
      string(1) "0"
      'NumberFormatter::DIGIT_SYMBOL' =>
      string(1) "#"
      'NumberFormatter::MINUS_SIGN_SYMBOL' =>
      string(1) "-"
      'NumberFormatter::PLUS_SIGN_SYMBOL' =>
      string(1) "+"
      'NumberFormatter::CURRENCY_SYMBOL' =>
      string(3) ""
      'NumberFormatter::INTL_CURRENCY_SYMBOL' =>
      string(3) "JPY"
      'NumberFormatter::MONETARY_SEPARATOR_SYMBOL' =>
      string(1) "."
      'NumberFormatter::EXPONENTIAL_SYMBOL' =>
      string(1) "E"
      'NumberFormatter::PERMILL_SYMBOL' =>
      string(3) ""
      'NumberFormatter::PAD_ESCAPE_SYMBOL' =>
      string(1) "*"
      'NumberFormatter::INFINITY_SYMBOL' =>
      string(3) ""
      'NumberFormatter::NAN_SYMBOL' =>
      string(3) "NaN"
      'NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL' =>
      string(1) "@"
      'NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL' =>
      string(1) ","
    }
    'format' =>
    array(16) {
      [0] =>
      string(4) "¥0"
      [1] =>
      string(4) "¥0"
      [2] =>
      string(4) "¥0"
      [3] =>
      string(4) "¥0"
      [4] =>
      string(4) "¥0"
      [5] =>
      string(4) "¥0"
      [6] =>
      string(4) "¥0"
      [7] =>
      string(4) "¥0"
      [8] =>
      string(4) "¥0"
      [9] =>
      string(4) "¥0"
      [10] =>
      string(4) "¥0"
      [11] =>
      string(4) "¥0"
      [12] =>
      string(4) "¥0"
      [13] =>
      string(4) "¥0"
      [14] =>
      string(4) "¥0"
      [15] =>
      string(4) "¥0"
    }
    'parse' =>
    array(16) {
      [0] =>
      bool(false)
      [1] =>
      bool(false)
      [2] =>
      bool(false)
      [3] =>
      bool(false)
      [4] =>
      bool(false)
      [5] =>
      bool(false)
      [6] =>
      bool(false)
      [7] =>
      bool(false)
      [8] =>
      bool(false)
      [9] =>
      bool(false)
      [10] =>
      bool(false)
      [11] =>
      bool(false)
      [12] =>
      bool(false)
      [13] =>
      bool(false)
      [14] =>
      bool(false)
      [15] =>
      bool(false)
    }
  }
  [9] =>
  array(8) {
    'style' =>
    string(30) "NumberFormatter::DEFAULT_STYLE"
    'pattern' =>
    string(9) "#,##0.###"
    'rounding' =>
    string(31) "NumberFormatter::ROUND_HALFEVEN"
    'pad_position' =>
    string(34) "NumberFormatter::PAD_BEFORE_PREFIX"
    'text' =>
    array(8) {
      'NumberFormatter::POSITIVE_PREFIX' =>
      string(0) ""
      'NumberFormatter::POSITIVE_SUFFIX' =>
      string(0) ""
      'NumberFormatter::NEGATIVE_PREFIX' =>
      string(1) "-"
      'NumberFormatter::NEGATIVE_SUFFIX' =>
      string(0) ""
      'NumberFormatter::PADDING_CHARACTER' =>
      string(1) " "
      'NumberFormatter::CURRENCY_CODE' =>
      string(3) "JPY"
      'NumberFormatter::DEFAULT_RULESET' =>
      bool(false)
      'NumberFormatter::PUBLIC_RULESETS' =>
      bool(false)
    }
    'symbols' =>
    array(18) {
      'NumberFormatter::DECIMAL_SEPARATOR_SYMBOL' =>
      string(1) "."
      'NumberFormatter::GROUPING_SEPARATOR_SYMBOL' =>
      string(1) ","
      'NumberFormatter::PATTERN_SEPARATOR_SYMBOL' =>
      string(1) ";"
      'NumberFormatter::PERCENT_SYMBOL' =>
      string(1) "%"
      'NumberFormatter::ZERO_DIGIT_SYMBOL' =>
      string(1) "0"
      'NumberFormatter::DIGIT_SYMBOL' =>
      string(1) "#"
      'NumberFormatter::MINUS_SIGN_SYMBOL' =>
      string(1) "-"
      'NumberFormatter::PLUS_SIGN_SYMBOL' =>
      string(1) "+"
      'NumberFormatter::CURRENCY_SYMBOL' =>
      string(3) ""
      'NumberFormatter::INTL_CURRENCY_SYMBOL' =>
      string(3) "JPY"
      'NumberFormatter::MONETARY_SEPARATOR_SYMBOL' =>
      string(1) "."
      'NumberFormatter::EXPONENTIAL_SYMBOL' =>
      string(1) "E"
      'NumberFormatter::PERMILL_SYMBOL' =>
      string(3) ""
      'NumberFormatter::PAD_ESCAPE_SYMBOL' =>
      string(1) "*"
      'NumberFormatter::INFINITY_SYMBOL' =>
      string(3) ""
      'NumberFormatter::NAN_SYMBOL' =>
      string(3) "NaN"
      'NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL' =>
      string(1) "@"
      'NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL' =>
      string(1) ","
    }
    'format' =>
    array(16) {
      [0] =>
      string(1) "0"
      [1] =>
      string(4) "0.01"
      [2] =>
      string(3) "100"
      [3] =>
      string(5) "1,000"
      [4] =>
      string(5) "1,000"
      [5] =>
      string(8) "1,000.01"
      [6] =>
      string(9) "1,000.001"
      [7] =>
      string(5) "1,000"
      [8] =>
      string(1) "0"
      [9] =>
      string(4) "0.01"
      [10] =>
      string(3) "100"
      [11] =>
      string(5) "1,000"
      [12] =>
      string(5) "1,000"
      [13] =>
      string(8) "1,000.01"
      [14] =>
      string(9) "1,000.001"
      [15] =>
      string(5) "1,000"
    }
    'parse' =>
    array(16) {
      [0] =>
      double(0)
      [1] =>
      double(0.01)
      [2] =>
      double(100)
      [3] =>
      double(1000)
      [4] =>
      double(1000)
      [5] =>
      double(1000.01)
      [6] =>
      double(1000.001)
      [7] =>
      double(1000.0001)
      [8] =>
      double(0)
      [9] =>
      double(0.01)
      [10] =>
      double(100)
      [11] =>
      double(1000)
      [12] =>
      double(1000)
      [13] =>
      double(1000.01)
      [14] =>
      double(1000.001)
      [15] =>
      double(1000.0001)
    }
  }
  [10] =>
  array(8) {
    'style' =>
    string(23) "NumberFormatter::IGNORE"
    'pattern' =>
    string(1) "#"
    'rounding' =>
    string(31) "NumberFormatter::ROUND_HALFEVEN"
    'pad_position' =>
    string(34) "NumberFormatter::PAD_BEFORE_PREFIX"
    'text' =>
    array(8) {
      'NumberFormatter::POSITIVE_PREFIX' =>
      string(0) ""
      'NumberFormatter::POSITIVE_SUFFIX' =>
      string(0) ""
      'NumberFormatter::NEGATIVE_PREFIX' =>
      string(1) "-"
      'NumberFormatter::NEGATIVE_SUFFIX' =>
      string(0) ""
      'NumberFormatter::PADDING_CHARACTER' =>
      string(1) " "
      'NumberFormatter::CURRENCY_CODE' =>
      string(3) "JPY"
      'NumberFormatter::DEFAULT_RULESET' =>
      bool(false)
      'NumberFormatter::PUBLIC_RULESETS' =>
      bool(false)
    }
    'symbols' =>
    array(18) {
      'NumberFormatter::DECIMAL_SEPARATOR_SYMBOL' =>
      string(1) "."
      'NumberFormatter::GROUPING_SEPARATOR_SYMBOL' =>
      string(1) ","
      'NumberFormatter::PATTERN_SEPARATOR_SYMBOL' =>
      string(1) ";"
      'NumberFormatter::PERCENT_SYMBOL' =>
      string(1) "%"
      'NumberFormatter::ZERO_DIGIT_SYMBOL' =>
      string(1) "0"
      'NumberFormatter::DIGIT_SYMBOL' =>
      string(1) "#"
      'NumberFormatter::MINUS_SIGN_SYMBOL' =>
      string(1) "-"
      'NumberFormatter::PLUS_SIGN_SYMBOL' =>
      string(1) "+"
      'NumberFormatter::CURRENCY_SYMBOL' =>
      string(3) ""
      'NumberFormatter::INTL_CURRENCY_SYMBOL' =>
      string(3) "JPY"
      'NumberFormatter::MONETARY_SEPARATOR_SYMBOL' =>
      string(1) "."
      'NumberFormatter::EXPONENTIAL_SYMBOL' =>
      string(1) "E"
      'NumberFormatter::PERMILL_SYMBOL' =>
      string(3) ""
      'NumberFormatter::PAD_ESCAPE_SYMBOL' =>
      string(1) "*"
      'NumberFormatter::INFINITY_SYMBOL' =>
      string(3) ""
      'NumberFormatter::NAN_SYMBOL' =>
      string(3) "NaN"
      'NumberFormatter::SIGNIFICANT_DIGIT_SYMBOL' =>
      string(1) "@"
      'NumberFormatter::MONETARY_GROUPING_SEPARATOR_SYMBOL' =>
      string(1) ","
    }
    'format' =>
    array(16) {
      [0] =>
      string(1) "0"
      [1] =>
      string(4) "0.01"
      [2] =>
      string(3) "100"
      [3] =>
      string(4) "1000"
      [4] =>
      string(4) "1000"
      [5] =>
      string(7) "1000.01"
      [6] =>
      string(8) "1000.001"
      [7] =>
      string(9) "1000.0001"
      [8] =>
      string(1) "0"
      [9] =>
      string(4) "0.01"
      [10] =>
      string(3) "100"
      [11] =>
      string(4) "1000"
      [12] =>
      string(4) "1000"
      [13] =>
      string(7) "1000.01"
      [14] =>
      string(8) "1000.001"
      [15] =>
      string(9) "1000.0001"
    }
    'parse' =>
    array(16) {
      [0] =>
      double(0)
      [1] =>
      double(0.01)
      [2] =>
      double(100)
      [3] =>
      double(1000)
      [4] =>
      double(1000)
      [5] =>
      double(1000.01)
      [6] =>
      double(1000.001)
      [7] =>
      double(1000.0001)
      [8] =>
      double(0)
      [9] =>
      double(0.01)
      [10] =>
      double(100)
      [11] =>
      double(1000)
      [12] =>
      double(1000)
      [13] =>
      double(1000.01)
      [14] =>
      double(1000.001)
      [15] =>
      double(1000.0001)
    }
  }
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment