создание и продвижение сайта (вбиваю в ТОП-10, как гвозди)Настройка и сопровождение платной рекламы яндекс.директ

PHP. Руководство по PHP. 2005

money_format

Пред.

След.

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.

Описание формата состоит из:

символа %

  • необязательных флагов

  • необязательной ширины поля

  • необязательной точности до запятой

  • необязательной точности после запятой

  • обязательного описателя преобразования

    Флаги.

    Могут быть использованы следующие флаги:

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

    ?>

    См. также описание функций setlocale(),

    number_format(),sprintf(),

    printf() и sscanf().

    Пред.

    Начало

    След.

    metaphone

    Уровень выше

    nl_langinfo

    Отвечу на любые вопросы. С уважением, Дмитрий Владимирович.

    Ваше письмо×
    Free Web Hosting