1

为什么下面两行

$fmt = new NumberFormatter('en_US', NumberFormatter::CURRENCY);
echo $fmt->format(12.34, NumberFormatter::CURRENCY);

输出$12.00

4

1 回答 1

0

这是因为您使用NumberFormatter::CURRENCY常量作为format().

在文档的预定义常量部分中NumberFormatter,常量按应使用的方法分组。

NumberFormatter::CURRENCY2正如您所做的那样,在构造格式化程序时应该使用 和的值。2函数中的值format()对应于NumberFormatter::TYPE_INT64

您应该能够在format(12.34)没有第二个参数的情况下调用。

$fmt = new NumberFormatter('en_US', NumberFormatter::CURRENCY);
echo $fmt->format(12.34);
于 2017-11-17T18:07:56.567 回答