1

我正在将旧系统从 PEAR 的 i18nv2 类升级到 PHP 的内置 INTL 库。当我指定一个模式#,##0.##并运行NumberFormatter::format()一个像12345.1000我得到的数字时12,345.1,不应该保留尾随零吗?考虑到在许多语言环境中,小数点用逗号而不是小数点字符表示,有没有一种好方法可以在事后添加尾随零?

用代码解释:

$n = new NumberFormatter('en_CA', NumberFormatter::PATTERN_DECIMAL, '#,##0.##');
echo $n->format(12345.10000);
4

1 回答 1

3

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
于 2016-04-27T16:50:07.700 回答