PHP 美元货币格式 - 负数

PHP Format USD Currency - Negative Numbers

如果是负数,我需要在 $ 符号前显示一个带负号的金额。

例如:

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

输出将是:

$-120

我希望输出为:

-0

我可以用 regex/str_replace/等来做,但我想知道是否有内置的PHP 功能。也许 money_format 中的一些选项或类似的东西。

谢谢。

money_format()会这样做,但是你需要先使用setlocale()来确保货币符号设置正确:

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

参考文献:

如果 intl 安装在您的 php 配置中,您也可以这样做:

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