CCrmCurrency::ConvertMoney

  1. Bitrix24 API (v. 23.675.0)
  2. crm
  3. CCrmCurrency
  4. ConvertMoney
  • Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/classes/general/crm_currency.php
  • Класс: \CCrmCurrency
  • Вызов: CCrmCurrency::ConvertMoney
static function ConvertMoney($sum, $srcCurrencyID, $dstCurrencyID, $srcExchRate = -1)
{
	$sum = doubleval($sum);

	if (!Loader::includeModule('currency'))
	{
		return $sum;
	}

	$srcCurrencyID = self::NormalizeCurrencyID($srcCurrencyID);
	$dstCurrencyID = self::NormalizeCurrencyID($dstCurrencyID);
	$srcExchRate = doubleval($srcExchRate);

	if($sum === 0.0 || $srcCurrencyID === $dstCurrencyID)
	{
		return $sum;
	}

	if($srcExchRate <= 0)
	{
		// Use default exchenge rate
		$result = self::$currencyRatesClassName::ConvertCurrency($sum, $srcCurrencyID, $dstCurrencyID);
	}
	else
	{
		// Convert source currency to base and convert base currency to destination
		$result = self::$currencyRatesClassName::ConvertCurrency(
			doubleval($sum * $srcExchRate),
			self::GetBaseCurrencyID(),
			$dstCurrencyID
		);
	}

	$decimals = 2;
	$formatInfo = CCurrencyLang::GetCurrencyFormat($dstCurrencyID);
	if(isset($formatInfo['DECIMALS']))
	{
		$decimals = intval($formatInfo['DECIMALS']);
	}

	$result = round($result, $decimals);
	return $result;
}

Добавить комментарий