Перейти к содержимому


Фотография
- - - - -

Округление цены в рублях


Лучший Ответ SmetDenis , 13 November 2015 - 14:44

Если валюта интерфейса рубль, то перед тем как сделать произведение значение округляется в нижнюю сторону через floor()

 

ibxj_200x0.png


Это хак, другого решения я не знаю.

 

Дело в том что у нас округление срабатывает только в конце вычислений (обычно перед выводом), чтобы не потерять точность и учесть погрешность конвертирования.

Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 17

#1 Max

Max

Отправлено 06 November 2015 - 08:21

Подскажите как округлить цену до рублей исходная цена в $, Поле "Знаков после запятой" - не влияет на вычисления цены.

Без округления курса валют ЦБ.


  • 0

Joomla: 3.4.8 JBZoo: 2.2.5 Pro rev3095 Zoo: 3.3.7 WidgetKit: 2.4.3


#2 SmetDenis

SmetDenis

Отправлено 09 November 2015 - 07:59

Используйте эти две опции
lxsy_200x0.png
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#3 Max

Max

Отправлено 09 November 2015 - 08:11

Вычисления происходят следующим образом:

цена на товар в usd - в рублях по курсу цб с копейками - вывод на сайте без копеек (округление) - в корзине пересчет количества с учетом копеек

в последнем необходимо пересчет количества без учета копеек (указанным округлением)


  • 0

Joomla: 3.4.8 JBZoo: 2.2.5 Pro rev3095 Zoo: 3.3.7 WidgetKit: 2.4.3


#4 Max

Max

Отправлено 09 November 2015 - 08:20

корзина

Прикрепленные изображения

  • Снимок экрана 2015-11-09 в 10.18.05.png

  • 0

Joomla: 3.4.8 JBZoo: 2.2.5 Pro rev3095 Zoo: 3.3.7 WidgetKit: 2.4.3


#5 Max

Max

Отправлено 09 November 2015 - 08:24

настройки валюты

Прикрепленные изображения

  • Снимок экрана 2015-11-09 в 10.23.32.png

Сообщение отредактировал Max: 09 November 2015 - 08:24

  • 0

Joomla: 3.4.8 JBZoo: 2.2.5 Pro rev3095 Zoo: 3.3.7 WidgetKit: 2.4.3


#6 SmetDenis

SmetDenis

Отправлено 10 November 2015 - 08:19

Режим округления влияет на расчеты, т.е система сначала округлит, а затем посчитает.
Если в вычислениях не нужно учитывать округление, то следует использовать "Знаков после запятой"

Скомбинировать это так чтобы работало одновременно боюсь не получится.
  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#7 Max

Max

Отправлено 10 November 2015 - 08:49

Выходит все наоборот для корзины - сначала посчитает с учетом количества потом округлит и это в корне неправильно, сумма больше на несколько рублей и вызывает путаницу, этаже проблема и в старых версиях. Вариант округление курса цб до целых не подходит. 

 

В формулу расчета стоимости корзины функцию округления нужно вставить в нужное место 


  • 0

Joomla: 3.4.8 JBZoo: 2.2.5 Pro rev3095 Zoo: 3.3.7 WidgetKit: 2.4.3


#8 SmetDenis

SmetDenis

Отправлено 12 November 2015 - 10:59

Округление у нас работает иначе чем вам кажется. 

 

Можно попробовать сделать хак и учитывать округление только при вычислении суммы от количества

k0pr_200x0.png

 

            $itemPrice = $this->val($item['total']);
 
            $cur = $itemPrice->cur();
            if ($cur == 'rub') {
                $val = $itemPrice->val();
                $val = round($val, 0);
                $itemPrice->set($val, $cur);
            }
            $itemPrice->multiply($item['quantity']);

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#9 Max

Max

Отправлено 12 November 2015 - 11:20

в этом файле у меня нет такой функции

Joomla: 3.4.5 JBZoo: 2.2.0 Pro rev2935 Zoo: 3.3.7 WidgetKit: 2.4.3

Прикрепленные файлы

  • Прикрепленный файл  jbcart.php   20.81К   44 Количество загрузок:

Сообщение отредактировал Max: 12 November 2015 - 11:22

  • 0

Joomla: 3.4.8 JBZoo: 2.2.5 Pro rev3095 Zoo: 3.3.7 WidgetKit: 2.4.3


#10 SmetDenis

SmetDenis

Отправлено 12 November 2015 - 13:26

Извините, промахнулся.

Файл рядом -  jborder.php


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!