Mianowicie mamy sobie liczbę netto * vat = brutto, tzn 371.311475 * 1.22 = 452.9999995 (szesc dziewiatek i piątka). Zaokrąglenie do 6 miejsc po przecinku powinno dac 453. I tak sie prawie dzieje:
<?php // Ale juz np. // powinno dawac teoretycznie to samo, czyz nie? // Czesciowe rozwiazanie tego problemu, to dodanie 001 na koncu liczby netto: ?>
Podobny problem z tymi zerami na koncu mam w MySQL:
SELECT round(371.311475 * 1.22, 6), round(371.311475000001 * 1.22, 6)
To daje nam:
452.999999 | 453
Na chlopski rozum to bez sensu. W szkole uczyli mnie, że jak się zaokrągla do N miejsc po przecinku, to patrzy się nie dalej jak N+1.
Czy ktos moze mi to wyjasnic jak pastuch krowie?
