在 PHP 中使用 NumberFormatter 保留尾随零
Preserve trailing zeroes using NumberFormatter in PHP
我正在努力将遗留系统从 PEAR 的 i18nv2 class 升级到 PHP 的内置 INTL 库。当我在 12345.1000
之类的数字上指定 #,##0.##
和 运行 NumberFormatter::format()
之类的模式时,我得到 12,345.1
不应该保留尾随零吗?考虑到在许多语言环境中,小数由逗号而不是小数字符表示,是否有一种添加尾随零的好方法?
用代码解释:
$n = new NumberFormatter('en_CA', NumberFormatter::PATTERN_DECIMAL, '#,##0.##');
echo $n->format(12345.10000);
http://icu-project.org/apiref/icu4c/classDecimalFormatSymbols.html
Symbol Meaning
0 a digit
# a digit, zero shows as absent
所以:
$n = new NumberFormatter('en_CA', NumberFormatter::PATTERN_DECIMAL, '#,##0.00');
echo $n->format(12345.10000);
产量:
12,345.10
我正在努力将遗留系统从 PEAR 的 i18nv2 class 升级到 PHP 的内置 INTL 库。当我在 12345.1000
之类的数字上指定 #,##0.##
和 运行 NumberFormatter::format()
之类的模式时,我得到 12,345.1
不应该保留尾随零吗?考虑到在许多语言环境中,小数由逗号而不是小数字符表示,是否有一种添加尾随零的好方法?
用代码解释:
$n = new NumberFormatter('en_CA', NumberFormatter::PATTERN_DECIMAL, '#,##0.##');
echo $n->format(12345.10000);
http://icu-project.org/apiref/icu4c/classDecimalFormatSymbols.html
Symbol Meaning
0 a digit
# a digit, zero shows as absent
所以:
$n = new NumberFormatter('en_CA', NumberFormatter::PATTERN_DECIMAL, '#,##0.00');
echo $n->format(12345.10000);
产量:
12,345.10