Существует общая взаимосвязь между ценами, количеством, скидкой, налогом и их точностью.
Assume:
x is the price
y is the percentage
s is the rounded sub-total
2 Directions
A) incl. Tax => excl. Tax => incl. Tax
B) excl. => incl. => excl.
Важной проблемой является округленная промежуточная сумма, которую я рассчитываю с макс. Ошибка. 2 дробные цифры означают 5 * 10 ^ -3
A) x * 10 ^ 2 / (y + 10 ^ 2) // s * (y + 10 ^ 2) / 10 ^ 2
B) x * (y + 10 ^ 2) / 10 ^ 2 // s * 10 ^ 2 / (10 ^ 2 + y)
A)
Subtotal precision 2 fractional digits:
5*10^-3*(y+10^2)/10^2 => (y+10^2)/10^2<1 => no y
3 fractional digits:
5*10^-4*(y+10^2)/10^2 => (y+10^2)/10^2<10 => y<900
4 fractional digits:
5*10^-5*(y+10^2)/10^2 => (y+10^2)/10^2<10^2 => y<90900
(must be a very bad country)
......
B)
Subtotal precision 2 fractional digits:
(5*10^-3)*10^2/(10^2+y) => 10^2/(10^2+y)<1 => every y
Если вы хотите рассчитать со скидками или налогами и хотите пересчитать цену, вам может быть интересно следующее объяснение. Пожалуйста, имейте ввиду, что я не знаю ни одного случая во внешнем интерфейсе, возможно, есть подсчет стажера. A) Итого => Налог / Скидка => Итого B) Налог / Скидка => Итого => Налог / Скидка
A) x * y / 10 ^ 2 // s * 10 ^ 2 / y
B) x * 10 ^ 2 / y // s * y / 10 ^ 2
A) Subtotal precision 2 fractional digits:
(5*10^-3)*10^2/y => 10^2/y < 1 => y>10^2
Subtotal precision 3 fractional digits:
(5*10^-4)*10^2/y => 10^2/y < 10 => y>10
Subtotal precision 4 fractional digits:
... 10^2/y < 10^2 => y>1
С точностью до 2 цифр у вас должна быть скорость без ДРАГОЦЕННЫХ ЦИФРОВ. Пример: Итого: 15,15 ставка налога: 0,3% => налог 0,04545 => округленный налог 0,0455: 0,0455 => итого: 15,17
B) Subtotal precision 2 fractional digits:
(5*10^-3)*y/10^2 => y/10^2 < 1 => y < 10^2
если а является точностью, то должно быть у меньше, чем + 2.
Обратите внимание, если вы обрабатываете количество. Ошибка будет умножена. Так что если у вас максимум 10 ^ 5, вам нужно иметь точность 7. Это беспокоит, если вы рассчитываете со смещением!
Сложение (9.10.2013 Magento версии 1.7.0.2) Брутто Нетто <=> и налоги // Америка <=> старые наборы Европа являются целыми числами (Cents) и отображение
F (х) = круглый (а * х)> 1 не биективно. По моим словам: не за каждую цену вкл. существует цена, исключая или Есть иногда 2 цены вкл. за одну цену, кроме или Вы можете получить 2 разных результата в зависимости от того, как вы рассчитываете
Реальный пример из Германии:
Вы пытаетесь ввести цену вкл. налоги: 19,95 Вы получаете 16,76 (2 цифры), поскольку ваши цены не включают. налоги (19%). Если вы рассчитаете 19% налогов, вы получите (16,76 * 0,19) 3,18. (Знайте: 19,95 * 019 / 1,19 ~ 3,19)
Так что разница в 1 цент. 16,76 => 19,94 16,77 => 19,96
Там нет цены 19,95 в Америке - земля нетто.
Так что посчитайте с оригинальными ценами, насколько это возможно. Для включения цены используйте введенную цену и налоги (неработающее число).
У PayPal есть эта проверка на мошенничество - теперь я не уверен - но PayPal просто добавляет число, которое дает magento. см. http://fabiankrueger.de/blog/magento-und-paypayl-rundungsfehler/
Если это не так, и PayPal пересчитывает налог или сумму, эта проблема не решаема, в противном случае цены - неправильные или правильные - отображаются ранее в Magento. , Решите это там. Для меня это похоже на работу.