Методы
-
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
Формат возвращаемого значения. Строка с указанием формата должна начинаться с символа % и может состоять из следующих необязательных частей в указанном порядке:
- Точность отображаемого числа (количество знаков после запятой); указывается в виде числа, обозначающего количество символов после десятичной запятой. Если точность не указана, то по умолчанию отображаются 2 знака после десятичной запятой.
- Вид отображения (в виде числа, например, «123456» или словами, например, «сто двадцать три тысячи четыреста пятьдесят шесть»). Для числового отображения укажите i, для словесного — w. Словесная запись возвращает только целую часть числа, дробная часть отбрасывается. Если вид отображения не указан, то по умолчанию используется числовой вид отображения.
- Текстовое обозначение валюты, например, «руб.», «копеек» и т. п. Для добавления обозначения валюты укажите один из идентификаторов в фигурных скобках:
{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









