Beste Tweakers,
Ik ben zojuist achter een vreemd probleem met de afronding in PHP gekomen. Ik gebruik hiervoor de functie round(). Dit geeft de volgende resultaten:
round(30.925, 2) -> 30.93
round(31.925, 2) -> 31.93
round(32.925, 2) -> 32.92
round(33.925, 2) -> 33.92
round(511.925, 2) -> 511.93
round(512.925, 2) -> 512.92
Ik heb een scriptje gemaakt dat van 0 tot 10.000 gaat controleren of er wordt afgerond op .92 of .93 (als ik .925 achter de komma heb), vreemd genoeg gaat dit dus soms mis (want het moet .93 zijn!).
Het gaat het dus fout vanaf 32.925, vervolgens weer vanaf 512.925.
Enig idee waar deze afrondingsfout vandaan komt?
Machine: FreeBSD, PHP 5.2.5
Hartelijk dank!
Ik ben zojuist achter een vreemd probleem met de afronding in PHP gekomen. Ik gebruik hiervoor de functie round(). Dit geeft de volgende resultaten:
round(30.925, 2) -> 30.93
round(31.925, 2) -> 31.93
round(32.925, 2) -> 32.92
round(33.925, 2) -> 33.92
round(511.925, 2) -> 511.93
round(512.925, 2) -> 512.92
Ik heb een scriptje gemaakt dat van 0 tot 10.000 gaat controleren of er wordt afgerond op .92 of .93 (als ik .925 achter de komma heb), vreemd genoeg gaat dit dus soms mis (want het moet .93 zijn!).
Het gaat het dus fout vanaf 32.925, vervolgens weer vanaf 512.925.
Enig idee waar deze afrondingsfout vandaan komt?
Machine: FreeBSD, PHP 5.2.5
Hartelijk dank!