Проиллюстрируем применение этой функции для разных локалей
и разных описаний формата.
<?php
$number = 1234.56;
// Международный формат в локали en_US
setlocale(LC_MONETARY, 'en_US');
echo money_format('%i', $number) . "\n";
// USD 1,234.56
// Итальянский национальный формат с 2 знаками после запятой
setlocale(LC_MONETARY, 'it_IT');
echo money_format('%.2n', $number) . "\n";
// Eu 1.234,56
// Форматирование отрицательных чисел
$number = -1234.5672;
// Национальный формат США, со скобками
// для отрицательных чисел и 10 знаков до запятой
setlocale(LC_MONETARY, 'en_US');
echo money_format('%(#10n', $number) . "\n";
// ($ 1,234.57)
// Похоже на предыдущий формат, но с добавлением 2 знаков после запятой
// и символом '*' в качестве заполнителя
echo money_format('%=*(#10.2n', $number) . "\n";
// ($********1,234.57)
// Выравнивание влево, ширина 14 знаков, 8 знаков до запятой,
// 2 знака после запятой, без разбиения на группы
// с использованием международного формата в локали de_DE.
setlocale(LC_MONETARY, 'de_DE');
echo money_format('%=*^-14#8.2i', 1234.56) . "\n";
// Eu 1234,56****
// А теперь добавим текст перед и после описанием формата
setlocale(LC_MONETARY, 'en_GB');
$fmt = 'Итоговая сумма: %i (после скидки в 10 %%)';
echo money_format($fmt, 1234.56) . "\n";
// Итоговая сумма: GBP 1,234.56 (после 10-процентной скидки)
?>