Example #1
0
function SaleFormatCurrency($fSum, $strCurrency, $OnlyValue = false, $withoutFormat = false)
{
    if ($withoutFormat === true) {
        if ($fSum === '') {
            return '';
        }
        $currencyFormat = CCurrencyLang::GetFormatDescription($strCurrency);
        if ($currencyFormat === false) {
            $currencyFormat = CCurrencyLang::GetDefaultValues();
        }
        $intDecimals = $currencyFormat['DECIMALS'];
        if (round($fSum, $currencyFormat["DECIMALS"]) == round($fSum, 0)) {
            $intDecimals = 0;
        }
        return number_format($fSum, $intDecimals, '.', '');
    }
    return CCurrencyLang::CurrencyFormat($fSum, $strCurrency, !($OnlyValue === true));
}
Example #2
0
 protected function getSaleFormatCurrency($price, $currency)
 {
     $currency = (string) $currency;
     $arCurFormat = CCurrencyLang::GetCurrencyFormat($currency, $this->getLanguageId());
     $arDefaultValues = CCurrencyLang::GetDefaultValues();
     $arSeparators = CCurrencyLang::GetSeparators();
     if ($arCurFormat === false) {
         $arCurFormat = $arDefaultValues;
     } else {
         if (!isset($arCurFormat['DECIMALS'])) {
             $arCurFormat['DECIMALS'] = $arDefaultValues['DECIMALS'];
         }
         $arCurFormat['DECIMALS'] = (int) $arCurFormat['DECIMALS'];
         if (!isset($arCurFormat['DEC_POINT'])) {
             $arCurFormat['DEC_POINT'] = $arDefaultValues['DEC_POINT'];
         }
         if (!empty($arCurFormat['THOUSANDS_VARIANT']) && isset($arSeparators[$arCurFormat['THOUSANDS_VARIANT']])) {
             $arCurFormat['THOUSANDS_SEP'] = $arSeparators[$arCurFormat['THOUSANDS_VARIANT']];
         } elseif (!isset($arCurFormat['THOUSANDS_SEP'])) {
             $arCurFormat['THOUSANDS_SEP'] = $arDefaultValues['THOUSANDS_SEP'];
         }
         if (!isset($arCurFormat['FORMAT_STRING'])) {
             $arCurFormat['FORMAT_STRING'] = $arDefaultValues['FORMAT_STRING'];
         }
         if (!isset($arCurFormat['HIDE_ZERO']) || empty($arCurFormat['HIDE_ZERO'])) {
             $arCurFormat['HIDE_ZERO'] = $arDefaultValues['HIDE_ZERO'];
         }
     }
     $intDecimals = $arCurFormat['DECIMALS'];
     if ($arCurFormat['HIDE_ZERO'] == 'Y') {
         if (round($price, $arCurFormat["DECIMALS"]) == round($price, 0)) {
             $intDecimals = 0;
         }
     }
     $price = number_format($price, $intDecimals, $arCurFormat['DEC_POINT'], $arCurFormat['THOUSANDS_SEP']);
     if ($arCurFormat['THOUSANDS_VARIANT'] == CCurrencyLang::SEP_NBSPACE) {
         $price = str_replace(' ', ' ', $price);
     }
     return str_replace('#', $price, $arCurFormat['FORMAT_STRING']);
 }