Mailinglisten-Archive |
Das funktioniert nicht: round(1.5) = 1.4999999999 = 1 round(2.5) = 2.5000000001 = 3 round(3.5) = 3.4999999999 = 3 round(4.5) = 4.5000000001 = 5 ... Ungetestet, probiers einfach mal aus. Dann addiere einen Betrag von 0.000000002 dazu. Das Ergebnis sollte dann stimmen. -Egon Besuchen Sie Six auf der CeBIT (24.2.-1.3.) in Halle 10, Stand 425, und auf der Hannover-Messe (20.-25.3.) in Halle 14, Stand J50! On Sun, 20 Feb 2000, Alexander Ott wrote: > egon schmid wrote: > >Hi Pascal, > >das ist kein Fehler, denn KEIN Compiler kann eine Flieskommazahl exakt > >darstellen. So wird zum Beispiel 1.5 intern als 1.499999999999... > >dargestellt und 2.5 als 2.5000000001... > >Als Abhilfe kann man einen sehr kleinen Betrag dazu addieren. Oder mit der > >entsprechenden Zehnerpotenz hochrechnen und mit ganzen Zahlen > >weiterrechnen. > > .... oder man rundet die zahl auf 4 oder 8 oder 10 Stellen nach dem Komma, > dann stimmts wieder!
php::bar PHP Wiki - Listenarchive