phpbar.de logo

Mailinglisten-Archive

[php] php und Mathematik: 6, Setzen ?

[php] php und Mathematik: 6, Setzen ?

eschmid eschmid+sic_(at)_s.netic.de
Sun, 20 Feb 2000 12:55:29 +0100 (CET)


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