我在本地服务器上使用 PHP 的数字格式化程序,虽然它确实有效,但它会打印出这样的美元金额:8.500,00 $,而我实际上希望它看起来像这样:$8,500.00。函数中是否有一些参数可以让我解决这个问题,还是我必须使用其他东西?
问问题
653 次
4 回答
0
看起来您在NumberFormatter
对象中设置了错误的语言环境。格式$8,500.00
是美国的格式。确保您已告知NumberFormatter
使用正确的语言环境。
于 2013-12-09T18:56:18.933 回答
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);
于 2013-12-09T19:07:01.020 回答
-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
于 2013-12-09T18:51:53.200 回答
-2
有一个名为number_format的函数
number_format ( $number , $decimals , $dec_separator , $thousands_separator)
于 2013-12-09T18:53:30.783 回答