如何在 PHP 中将数字格式化为美元金额

2022-08-30 08:44:09

如何将数字转换为显示美元和美分的字符串?

eg:
123.45    => '$123.45'
123.456   => '$123.46'
123       => '$123.00'
.13       => '$0.13'
.1        => '$0.10'
0         => '$0.00'

答案 1

如果你只想要一些简单的东西:

'$' . number_format($money, 2);

number_format()


答案 2

PHP 也有 money_format()。

下面是一个示例:

echo money_format('$%i', 3.4); // echos '$3.40'

这个函数实际上有很多选项,请转到我链接到的文档以查看它们。

注意:money_format在 Windows 中未定义。


更新:通过PHP手册:https://www.php.net/manual/en/function.money-format.php

警告:此函数 [money_format] 自 PHP 7.4.0 起已弃用。强烈建议不要依赖此功能。

相反,请查看NumberFormatter::formatCurrency

    $number = "123.45";
    $formatter = new NumberFormatter('en_US', NumberFormatter::CURRENCY);
    return $formatter->formatCurrency($number, 'USD');

推荐