istnieje ogólny związek między cenami, ilością, rabatem, podatkiem i ich dokładnością.
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.
Ważną kwestią jest zaokrąglona suma częściowa, którą obliczam z wartością max. Błąd. 2 cyfry ułamkowe oznaczają 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
Jeśli chcesz obliczyć rabaty lub podatki i chcesz przeliczyć cenę, następne wyjaśnienie może być dla Ciebie interesujące. Należy pamiętać, ponieważ nie znam żadnego przypadku w interfejsie, możliwe jest, że istnieje obliczenie stażysty. A) Razem => Podatek / Rabat => Razem B) Podatek / Rabat => Razem => Podatek / Rabat
A) x * y / 10 ^ 2 // s * 10 ^ 2 / r
B) x * 10 ^ 2 / r // s * r / 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
Z dokładnością do 2 cyfr, musisz mieć stawkę BEZ CYFROWYCH CYFROWYCH. Przykład: Razem: 15,15 stawka podatku: 0,3% => podatek 0,04545 => zaokrąglony 0,0455 podatek: 0,0455 => ogółem: 15,17
B) Subtotal precision 2 fractional digits:
(5*10^-3)*y/10^2 => y/10^2 < 1 => y < 10^2
jeśli a jest dokładnością, to musi być y mniejsze niż + 2.
Uwaga: jeśli zajmujesz się ilościami. Błąd zostanie pomnożony. Więc jeśli masz maksimum 10 ^ 5, musisz mieć dokładność 7. To jest niepokojące, jeśli obliczasz z przesunięciem!
DODATEK (9.10.2013 Magento wersja 1.7.0.2) Brutto <=> Netto i podatki // Ameryka <=> stare zestawy europejskie są liczbami całkowitymi (centami), a odwzorowanie
f (x) = okrągłe (a * x) a> 1 wynosi nie bijective. Moje słowa: Nie za każdą cenę włącznie. istnieje cena bez. lub Czasami są 2 ceny włącznie. za jedną cenę bez. lub Możesz uzyskać 2 różne wyniki w zależności od sposobu obliczania
Przykład z Niemiec:
Próbujesz wprowadzić cenę z VAT. podatki: 19,95 Otrzymujesz 16,76 (2 cyfry), ponieważ ceny nie zawierają. podatki (19%). Po obliczeniu 19% podatków otrzymujesz (16,76 * 0,19) 3,18. (Należy pamiętać: 19,95 * 019 / 1,19 ~ 3,19)
Jest więc różnica 1 centa. 16,76 => 19,94 16,77 => 19,96
W Ameryce nie ma ceny 19,95 - krainy netto.
Oblicz więc z oryginalnymi cenami, o ile to możliwe. Do uwzględnienia cen należy użyć wprowadzonej ceny i podatków (zepsuty numer).
PayPal ma tę kontrolę oszustw - teraz nie jestem pewien - ale PayPal po prostu dodaje liczbę, którą daje jej magento. patrz http://fabiankrueger.de/blog/magento-und-paypayl-rundungsfehler/
Jeśli nie jest to prawdą, a PayPal ponownie oblicza podatek lub sumę, problemu nie można rozwiązać, w przeciwnym razie ceny - błędne lub prawidłowe - zostaną pokazane wcześniej w Magento . Rozwiąż to tam. Wydaje mi się, że to działa.