waCurrency

Обработка данных, имеющих отношение к валютам

Содержание...

Методы

  • getInfo

    Возвращает информацию о валюте (в виде массива) по ее ISO3-коду.

  • format

    Возвращает форматированный вывод суммы в валюте, например, «700 руб.», «$125,000.00».

  • formatWithUnit

    Возвращает сокращённое обозначение большого числа.

  • getAll

    Возвращает список всех имеющихся валют.

  • round

    Возвращает округлённое числовое значение.

public static function getInfo ($currency)

Возвращает информацию о валюте по ее ISO3-коду из конфигурационного файла в директории wa-system/currency/data/.

Параметры

  • $currency

    ISO3-код валюты.

Пример

waCurrency::getInfo ('USD')

Результат

[
    [code] => USD
    [sign] => $
    [sign_position] => 0
    [sign_delim] => 
    [title] => Доллар США
        [name] => [
        [0] => [
            [0] => dollar
            [1] => dollars
        ]
        [1] => US$
    ]
    [frac_name] => [
        [0] => [
            [0] => cent
            [1] => cents
        ]
    ]
]

public static function format ($format, $n, $currency, $locale = null)

Возвращает число в заданном формате с обозначением указанной валюты.

Параметры

  • $format

    Формат возвращаемого значения. Строка с указанием формата должна начинаться с символа % и может состоять из следующих необязательных частей в указанном порядке:

    1. Точность отображаемого числа (количество знаков после запятой); указывается в виде числа, обозначающего количество символов после десятичной запятой. Если точность не указана, то по умолчанию отображаются 2 знака после десятичной запятой.
    2. Вид отображения (в виде числа, например, «123456» или словами, например, «сто двадцать три тысячи четыреста пятьдесят шесть»). Для числового отображения укажите i, для словесного — w. Словесная запись возвращает только целую часть числа, дробная часть отбрасывается. Если вид отображения не указан, то по умолчанию используется числовой вид отображения.
    3. Текстовое обозначение валюты, например, «руб.», «копеек» и т. п. Для добавления обозначения валюты укажите один из идентификаторов в фигурных скобках:
      • {n}: полное наименование валюты (например, «рублей»)
      • {s}: сокращённое обозначение валюты (например, «руб.»)
      • {h}: HTML-символ валюты; если у валюты нет HTML-символа, то по умолчанию используется формат 's'
      • {f}: наименование дробной части валюты (например, «копеек»)
      • {c}: код валюты (например, «RUB»).
  • $n

    Исходное число.

  • $currency

    ISO3-код валюты.

  • $locale

    Строковое обозначение локали, например, ru_RU или en_US.

Пример

waCurrency::format ('%0{s}', 123456.78, 'USD', 'en_US')

Результат

$123,457

Пример

waCurrency::format ('%w{n}', 123456.78, 'USD', 'en_US')

Результат

one hundred and twenty-three thousand four hundred and fifty-six dollars

PHP-функции

wa_currency ($n, $currency, $format = '%{s}')

Обертка для вызова метода format с использованием текущей локали пользователя.

Пример

wa_currency (123465, 'RUB')

Результат

123 465 руб.

wa_currency_html ($n, $currency, $format = '%{h}')

Обертка для вызова метода format для внедрения отформатированного значения в HTML-код веб-страниц с использованием текущей локали пользователя (для валют, имеющих значение параметра sign_html в конфигурационном файле валюты в директории wa-system/currency/data/).

Пример

wa_currency_html (123465, 'RUB')

Результат

123 465 Р

Модификаторы Smarty

  • wa_format_amount_currency

    Форматирует строку в виде денежной суммы средствами метода format. По умолчанию используется строка формата '%{s}'.

public static function formatWithUnit ($total, $locale = null)

Возвращает сокращённое обозначение большого числа. Например, 1,23M вместо 1234578.

Параметры

  • $total

    Число, которое нужно показать в сокращенном виде.

  • $locale

    Идентификатор локали, для которой нужно форматировать возвращаемый результат. Если значение не указано, используется текущая локаль пользователя.

Пример

waCurrency::formatWithUnit(1234578);

Результат

1,23M

public static function getAll ($type = 'title')

Возвращает список всех имеющихся валют.

Параметры

  • $type

    Строковый идентификатор элемента информации о валюте, доступного в файле конфигурации валюты в директории wa-system/currency/data/:

    • all: в этом случае, а также при указании значения true возвращаются все элементы массива данных валюты.
    • code: ISO3-код валюты
    • sign: символ валюты
    • title: наименование валюты

Пример

waCurrency::getAll ('sign')

Результат

[
    [JPY] => ¥
    [CLP] => $
    [TRY] => TL
    [VEF] => Bs.F.
    [BSD] => $
    [LTL] => Lt
    ...
    [GYD] => $
    [USD] => $
    [NPR] => Rs.
    [BZD] => $
    [PHP] => P
    [BBD] => Bds$
]

public static function round ($n, $currency)

Возвращает округлённое числовое значение.

Параметры

  • $n

    Исходное число.

  • $currency

    Информация о количестве десятичных знаков, до которого нужно округлить, в одном из следующих форматов:

    • строковый идентификатор валюты — количество десятичных знаков будет извлечено из параметра 'precision' в конфигурации валюты;
    • массив конфигурации валюты с ключом 'precision', содержащим количество десятичных знаков;
    • число, обозначающее количество десятичных знаков.

Пример

waCurrency::round(123.4567, 'RUB');

Результат

123.46

Пример

waCurrency::round(123.4567, 3);

Результат

123.457