• Модуль: bizproc
  • Путь к файлу: ~/bitrix/modules/bizproc/lib/usertype/money.php
  • Класс: BitrixBizprocUserTypeMoney
  • Вызов: Money::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)
	{
		$result = CCurrencyRates::ConvertCurrency($sum, $srcCurrencyID, $dstCurrencyID);
	}
	else
	{
		$result = CCurrencyRates::ConvertCurrency(
			doubleval($sum * $srcExchRate),
			BitrixCurrencyCurrencyManager::getBaseCurrency(),
			$dstCurrencyID
		);
	}

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

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