PHP格式美元货币 - 负数

时间:2015-03-23 23:27:45

标签: php regex string-formatting money-format

我需要在$符号前面显示带有减号的金额,如果它是负数。

E.g:

$sum="-120";
echo "$".$sum;

输出将是:

$-120

我希望输出为:

-$120

我可以用 regex / str_replace / etc来做,但我想知道是否有内置的PHP函数。可能是money_format中的某个选项或类似的东西。

感谢。

2 个答案:

答案 0 :(得分:5)

money_format()会执行此操作,但您需要先使用setlocale()来确保正确设置货币符号:

setlocale(LC_MONETARY, 'en_US');
echo money_format('%+n', -123.45); // -$123.45

参考文献:

答案 1 :(得分:0)

如果在你的php配置上安装了intl,你也可以这样做:

$fmt = new NumberFormatter('en_US', NumberFormatter::CURRENCY);
echo $fmt->formatCurrency($sum, "USD");