money_format() 函数的替代方法

2022-08-30 11:27:27

我正在尝试在PHP中使用该函数,但它给出了以下错误:money_format()

Fatal error: Call to undefined function money_format()

有关此错误的搜索显示,仅当系统具有功能(例如,Windows 没有)并且该功能已从 PHP 8.0 中删除时,才会定义该函数。money_format()strfmon

是否有等效的 PHP 函数可用?


答案 1

如果您有国际扩展名,则可以使用

手册中的示例

$fmt = new NumberFormatter( 'de_DE', NumberFormatter::CURRENCY );
echo $fmt->formatCurrency(1234567.891234567890000, "EUR")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "RUR")."\n";
$fmt = new NumberFormatter( 'ru_RU', NumberFormatter::CURRENCY );
echo $fmt->formatCurrency(1234567.891234567890000, "EUR")."\n";
echo $fmt->formatCurrency(1234567.891234567890000, "RUR")."\n";

输出

1.234.567,89 €
1.234.567,89 RUR
1 234 567,89€
1 234 567,89р.

另请参阅我关于如何将格式化的货币字符串解析回浮点数的答案:


答案 2

保持简单!

sprintf('%01.2f', $val);

推荐