- Модуль: 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;
}