在 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