【问题标题】:Preserve trailing zeroes using NumberFormatter in PHP在 PHP 中使用 NumberFormatter 保留尾随零
【发布时间】:2016-08-22 02:28:42
【问题描述】:

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

用代码解释:

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

【问题讨论】:

    标签: php intl numberformatter


    【解决方案1】:

    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
    

    【讨论】:

      猜你喜欢
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-03
      • 1970-01-01
      • 2014-08-28
      • 1970-01-01
      相关资源
      最近更新 更多