PHP NumberFormatter反转逗号和小数

时间:2013-12-09 18:46:26

标签: php numberformatter

我在本地服务器上使用PHP的数字格式化器,虽然它确实有效,但它打印出这样的美元金额:8.500,00 $当我真的希望它看起来像这样:$ 8,500.00。函数中是否有一些参数允许我解决这个问题,还是我必须使用别的东西?

4 个答案:

答案 0 :(得分:0)

您的NumberFormatter对象中设置了错误的区域设置。格式$8,500.00是美国的格式。确保您告诉NumberFormatter使用正确的区域设置。

答案 1 :(得分:0)

也许是这样的:

$number = 1234.52;
setlocale(LC_MONETARY, 'en_US');
$number = money_format('%#10.2n', $number);

更新哦,实际上你说你正在使用NumberFormatter。我错过了。这应该也可以正常工作:

$formatter = new NumberFormatter( 'en_US', NumberFormatter::CURRENCY );
$number = $formatter->format($number);

答案 2 :(得分:-1)

如果您正在使用number_format函数,请确保您在函数中的正确位置使用小数和逗号,如下所示:

number_format ( $number , $decimals , '.' , ',' );

如果您使用的是NumberFormatter类,那么我建议您这样做:

$number = 8500.00;
$fmt = new NumberFormatter( 'en_US', NumberFormatter::CURRENCY );
echo $fmt->format($number);
//Results in $8,500.00

答案 3 :(得分:-2)

有一个名为number_format

的功能
number_format ( $number , $decimals , $dec_separator , $thousands_separator)