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