існує загальний взаємозв'язок між цінами, кількістю, знижкою, податком та їх точністю.
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
В) 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
Якщо ви хочете розрахувати зі знижками або податками і хочете перерахувати ціну, наступне пояснення може бути цікавим для вас. Будь ласка, майте на увазі, оскільки я не знаю жодного випадку на передовій, можливо, є стаж розрахунку. А) Всього => Податок / Знижка => Всього В) Податок / Знижка => Всього => Податок / Знижка
А) х * у / 10 ^ 2 // с * 10 ^ 2 / у
Б) х * 10 ^ 2 / у // с * у / 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
якщо a - точність, то y повинна бути y менше, ніж a + 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 просто додає число, яке дає їй Магенто. див. http://fabiankrueger.de/blog/magento-und-paypayl-rundungsfehler/
Якщо це неправда і PayPal перерахує податок або Total, ця проблема не вирішена, інакше ціни - неправильні чи правильні - відображаються раніше в Magento . Вирішіть його там. Для мене це, здається, працює.