Получение фатальной ошибки в функции 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