|
money_format (PHP 4 >= 4.3.0, PHP 5) money_format -- Форматирует число как денежную величину Описаниеstring money_format ( string format, float number )
money_format() форматирует число
number как денежную величину.
Эта функция вызывает функцию strfmon языка C, но позволяет
преобразовать только одно число за один вызов.
Замечание:
Функция money_format() определена только если
в системе присутствует функция strfmon. Например, в Windows она
отсутствует, поэтому money_format() не определена
в Windows.
Описание формата состоит из:
символа % необязательных флагов необязательной ширины поля необязательной точности до запятой необязательной точности после запятой обязательного описателя преобразования
Замечание:
На работу этой функции влияет установка категории
LC_MONETARY текущей локали.
Перед использованием этой функции установите нужную локаль с помощью
setlocale().
Символы перед и после описания формата возвращаются без изменений.
Пример 1. Пример использования money_format()
Проиллюстрируем применение этой функции для различных локалей и
разных описаний формата.
<?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"; // L. 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"; // DEM 1234,56****
// А теперь добавим текст перед и после описателя формата setlocale(LC_MONETARY, 'en_GB'); $fmt = 'The final value is %i (after a 10%% discount)'; echo money_format($fmt, 1234.56) . "\n"; // The final value is GBP 1,234.56 (after a 10% discount)
?>
|
|
См. также описание функций setlocale(),
number_format(),sprintf(),
printf() и sscanf().
| |