10

为什么会出现这个错误?

代码:

setlocale(LC_MONETARY, "en_US");
$pricetotal = money_format("%10.2n", $pricetotal);

服务器详细信息。

Apache Version : 2.2.21  
PHP Version : 5.3.8 

我收到以下错误

Fatal error: Call to undefined function money_format() 
4

3 回答 3

15

手册

仅当系统具有功能money_format()时才定义该strfmon 功能。例如,Windows 没有,因此money_format()在 Windows 中未定义。

money_format()strfmon()正如手册所述,它基本上是 C 库函数的包装器。

如果您查看评论,Rafael M. Salvioni 有一个实现。值得一试。您可以使用function_exists()检查它是否已经定义。

这个 StackOverflow 问题的答案提供了更多(并且可能更好)的替代方案(谢谢 danielson317)。

于 2012-05-23T07:56:08.237 回答
4

对于那些 money_format 不起作用的,您可以使用:

$price = number_format($price, 2); echo “$”.$price;
于 2014-06-04T18:47:12.643 回答
1

也许这个?

笔记:

仅当系统具有功能money_format()时才定义该strfmon功能。例如,Windows 没有,因此money_format()在 Windows 中未定义。

http://php.net/money_format

于 2012-05-23T07:56:07.550 回答