Документация для разработчиков
Темная тема

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-2024, «1С-Битрикс», 2024