existe uma relação geral entre preços, quantidade, desconto, imposto e suas precisões.
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.
A questão importante é o subtotal arredondado que estou calculando com o máx. Erro. 2 dígitos fracionários significa 5 * 10 ^ -3
Dê sua nota! Dê sua nota! 2Comentários (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
Se você deseja calcular com descontos ou impostos e deseja recalcular o preço, a próxima explicação pode ser interessante para você. Esteja ciente de que, como não conheço nenhum caso no front-end, é possível que haja um cálculo interno. A) Total => Imposto / Desconto => Total B) Imposto / Desconto => Total => Imposto / Desconto
A) x * y / 10 ^ 2 // s * 10 ^ 2 / y
B) x * 10 ^ 2 / a // s * a / 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
Com uma precisão de 2 dígitos, você deve ter uma taxa sem NENHUM DÍGITO FRACIONAL. Exemplo: Total: 15,15 alíquota: 0,3% => imposto 0,04545 => arredondado 0,0455 imposto: 0,0455 => total: 15,17
B) Subtotal precision 2 fractional digits:
(5*10^-3)*y/10^2 => y/10^2 < 1 => y < 10^2
se a é a precisão, deve ser y menor que a + 2.
Observe se você lida com quantidades. O erro será multiplicado. Portanto, se você tem um máximo de 10 ^ 5, precisa ter uma precisão de 7. Isso é preocupante, se você está calculando com deslocamento!
ALÉM (2013/10/09 Magento Versão 1.7.0.2) Brutto <=> Netto e Impostos // América <=> antigos conjuntos Europa são inteiros (centavos) e o mapeamento
f (x) = round (a * x) a> 1 é não é bijetivo. Nas minhas palavras: nem por todos os preços, incl. existe um preço excl. ou Às vezes há 2 preços incl. por um preço excl. ou Você pode obter 2 resultados diferentes, dependendo de como calcular
Exemplo do mundo real da Alemanha:
Você tenta inserir um preço incl. impostos: 19,95 Você recebe 16,76 (2 dígitos) conforme seus preços excl. os impostos (19%). Se você calcular os 19% de impostos, obtém (16,76 * 0,19) 3,18. (Esteja ciente: 19,95 * 019 / 1,19 ~ 3,19)
Portanto, há uma diferença de 1 centavo. 16,76 => 19,94 16,77 => 19,96
Não há preço de 19,95 na América - terra de netto.
Portanto, calcule com os preços originais o máximo possível. Para incluir preços, use o preço inserido e os impostos (número quebrado).
O PayPal tem essa verificação de fraude - agora não tenho certeza - mas o PayPal apenas adiciona o número que o magento fornece. veja http://fabiankrueger.de/blog/magento-und-paypayl-rundungsfehler/
Se isso não for verdade e o PayPal recalcular imposto ou total, esse problema não é solucionável, caso contrário, os preços - errados ou corretos - são mostrados anteriormente no Magento . Resolva-o lá. Para mim, parece funcionar.