Как вы решаете проблемы с округлением?

8

Раздражает вопрос о округлении. Я думаю, что сообщество это знает. При использовании цены, включая налоги, скидки и т. Д., Вы получите 0,01 разницу в цене. Я нашел решение переписать базовый класс методом round($price, 4)и подумал, что это может помочь. Работало нормально, но теперь я снова столкнулся с этим. У меня есть условие для экспорта, base_total_invoiced == base_grand_totalи эти цены, 112.9230 != 112.9200я могу вокруг них также. Но это грязное исправление.

Кто-нибудь знает хорошее решение для этого?

Вячеслав Кондратюк
источник

Ответы:

3

Это не прямое решение проблемы, но это должно быть решено в выпуске CE 1.8, который ожидается в конце этого месяца,

С http://www.magentocommerce.com/knowledge-base/entry/ce-18-later-release-notes :

Исправления ошибок округления

Следующие проблемы связаны с ошибками округления в один цент в интернет-магазине или корзине:

  • Расчет налогов на сопутствующие товары с многоуровневым ценообразованием.
  • Расчет цены перед настройкой для связанных продуктов.
  • Подсчет общего количества товаров, добавленных в корзину в другом порядке.
  • Просмотр заказа, когда налоги рассчитываются после скидки с использованием либо строки, либо цены за единицу. Применение скидки к заказу с адресом доставки, отличным от платежного адреса.
  • Расчет итоговой суммы на основе порядка, в котором товары добавляются в корзину. Если указать, что цены отображаются в интернет-магазине без учета налога, и установить ставку налога 20% (или ставку дисконтирования), то теперь можно правильно рассчитать общую сумму. Теперь можно иметь общие итоги в суммах, таких как 6,99, 9,99 или 99,99, независимо от денежных единиц, используемых в интернет-магазине.
  • Добавление нескольких товаров в корзину не влияет на точность расчета налога.
  • Промежуточный итог (включая налог) теперь корректен, если в каталог и стоимость доставки включен налог. Налог и скидки применяются после вычета налогов.
  • Цены, отображаемые в корзине и на странице каталога, являются согласованными и правильными, когда цены каталога включают налог, и когда элементы в каталоге настроены на отображение как с учетом, так и без учета налога. (В панели администратора выберите Система> Конфигурация> ПРОДАЖА> Налог. На правой панели разверните Настройки расчета.)
  • Ошибка в расчете итоговой суммы Налог был решен. Эта ошибка произошла в конкретной конфигурации: налог применяется к FPT, FPT включается в промежуточный итог, и клиент выбирает необлагаемую доставку по фиксированной ставке.
Владимир Керхофф
источник