Получение фатальной ошибки в функции money_format

Почему возникает эта ошибка?

код:

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() 

Ответ 1

Из manual:

Функция money_format() определяется только в том случае, если система имеет strfmonвозможностей. Например, Windows не работает, поэтому money_format() undefined в Windows.

money_format() в основном представляет собой оболочку вокруг функции библиотеки C strfmon(), как указано в руководстве.

Если вы отметите комментарии, существует реализация Рафаэля М. Сальвиони. Стоит попробовать. Вы можете проверить, было ли оно уже определено с помощью function_exists().

Ответ на fooobar.com/questions/179590/... дает дополнительные (и, возможно, лучшие) альтернативы (спасибо danielson317).

Ответ 2

Для тех, что money_format не работает, вы можете использовать:

$price = number_format($price, 2); echo "$".$price;

Ответ 3

Возможно, это?

Примечание:

Функция money_format() определяется только в том случае, если система имеет возможности strfmon. Например, Windows не работает, поэтому money_format() - undefined в Windows.

http://php.net/money_format