Методы
-
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