|
|
Новые сайты
|
|
|
|
|
Изготовление сайта жилого комплекса "Кореневский хуторок 2" подробнее
Все работы на одной странице подробнее
Создание сайта для логистической компании Way Logistic. подробнее
Сайт ЦСВМ "Штурман" подробнее
|
|
|
|
|
Справочник PHP.
(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.
Описание формата состоит из:
символа %
необязательных флагов
необязательной ширины поля
необязательной точности до запятой
необязательной точности после запятой
обязательного описателя преобразования
Флаги.
Могут быть использованы следующие флаги:
- =
f
Символ =
, за которым следует еще один символ,
задает символ заполнения. По умолчанию пробел.
- ^
Запрещает группировку символов (определяемую текущей локалью).
- +
или (
Задает способ форматирования положительных и отрицательных
значений. При использовании +
будут
использоваться аналоги символов +
и
-
из текущей локали. Если указана
(
, отрицательные числа будут заключены в
скобки. По умолчанию +
.
- !
Подавляет вывод символа валюты.
- -
Если этот флаг задан, поля будут выравнены влево, вместо
используемого по умолчанию выравнивания вправо.
Ширина поля.
- w
Строка из десятичных цифр, задающая минимальную ширину поля.
Поле будет выравнено вправо, если не указан флаг
-
. Значение по умолчанию - 0 (ноль).
Точность до запятой.
- #
n
Максимальное количество цифр (n
),
которое ожидается до запятой. Это обычно используется при выводе
значений одно под другим, чтобы десятичные точки распологались в
одной колонке, при этом используется символ заполнения, если
число цифр меньше n
. Если число цифр
больше n
, этот параметр игнорируется.
Если группировка не была запрещена флагом ^
,
разделители групп будут вставлены перед добавлением символов
заполнения. Разделители групп не вставляются между символами
заполнения, даже если заполнитель - цифра.
Для обеспечения выравнивания, все символы, выводимые до или
после числа, такие как сивол валюты или знак, будут дополнены
пробелами до одинаковой ширины.
Точность после запятой
.
- .
p
Точка, за которой следует число знаков, выводимых после запятой.
Если значение p
рано нулю, десятичная
точка и цифры после нее не будут выводиться.
Если этот параметр отсутствует, число знаков после запятой
определяется текущей локалью. Перед форматированием число
округляется до указанного количества знаков.
Описатель преобразования
.
- i
Используется международный денежный формат из текущей локали
(например, для американской локали: USD 1,234.56).
- n
Используется национальный денежный формат из текущей локали
(например, для локали de_DE: DM1.234,56).
- %
Вставляет символ %
.
Замечание:
На работу этой функции влияет установка категории
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)
?>
|
|
|
|
|
|