GetCurrencyFormat
Описание и параметры
array CCurrencyLang::GetCurrencyFormat( string currency, string lang = LANGUAGE_ID );
Метод возвращает массив языкозависимых параметров валюты currency для языка lang.
Метод аналогичен методу CCurrencyLang::GetByID, за исключение того, что возвращаемый результат в методе CCurrencyLang::GetCurrencyFormat кешируется. Поэтому повторный вызов метода с теми же кодами валюты и языка в рамках одной страницы не приводит к дополнительному запросу к базе данных. Нестатический метод.
Параметры метода
| Параметр | Описание |
|---|---|
| currency | Код валюты, языкозависимые параметры которой нужны. |
| lang | Код языка. Необязательный параметр. |
Возвращаемые значения
Ассоциативный массив с ключами:
| Ключ | Описание |
|---|---|
| CURRENCY | Код валюты (трехсимвольный) |
| LID | Код языка. |
| FORMAT_STRING | Строка формата, в соответствии с которой выводится суммы в этой валюте на этом языке. |
| FULL_NAME | Полное название валюты. |
| DEC_POINT | Символ, являющийся десятичной точкой при выводе сумм. |
| THOUSANDS_SEP | Разделитель тысяч при выводе. |
| DECIMALS | Количество знаков после запятой при выводе. |
| HIDE_ZERO | (Y|N) Определяет скрывать или показывать незначащие нули в дробной части (результат будет виден только в публичной части). |
Пример использования
<?
function MyFormatCurrency($fSum, $strCurrency)
{
if (!isset($fSum) || strlen($fSum)<=0)
return "";
$arCurFormat = CCurrencyLang::GetCurrencyFormat($strCurrency);
if (!isset($arCurFormat["DECIMALS"]))
$arCurFormat["DECIMALS"] = 2;
$arCurFormat["DECIMALS"] = IntVal($arCurFormat["DECIMALS"]);
if (!isset($arCurFormat["DEC_POINT"]))
$arCurFormat["DEC_POINT"] = ".";
if (!isset($arCurFormat["THOUSANDS_SEP"]))
$arCurFormat["THOUSANDS_SEP"] = "\\"."xA0";
if (!isset($arCurFormat["FORMAT_STRING"]))
$arCurFormat["FORMAT_STRING"] = "#";
$num = number_format(
$fSum,
$arCurFormat["DECIMALS"],
$arCurFormat["DEC_POINT"],
$arCurFormat["THOUSANDS_SEP"]
);
return str_replace(
"#",
$num,
$arCurFormat["FORMAT_STRING"]
);
}
echo "Сумма 11800.95 руб на текущем языке будет выглядеть так: ";
echo MyFormatCurrency(11800.95, "RUR");
?>
© «Битрикс», 2001-2025, «1С-Битрикс», 2025