Christian Seiler: round-funktion rundet falsch...

Beitrag lesen

Hallo,

Per Datenbankabfrage erhalte ich ein Varchar 81.225. Dieses will ich nun auf 2 Nachkommastellen runden. Also nutze ich die Funktion round(). Nur wenn ich round(zahl,2) auf diese Zahl anwende kommt am Ende 81.22 heraus. Es rundet also nicht mathematisch korrekt.

Ja, das ist ein bekanntes Problem, ich habe mich darum gekümmert, dass es bei PHP 5.3 nicht mehr auftritt, siehe http://wiki.php.net/rfc/rounding und http://cvs.php.net/viewvc.cgi/php-src/ext/standard/math.c?r1=1.131.2.2.2.6.2.10&r2=1.131.2.2.2.6.2.11.

Ich hatte hier im Forum auch mal den gleichen Algorithmus in Javascript und PHP gepostet, damit man nicht auf PHP 5.3 warten muss, um es korrekt einzusetzen:

http://forum.de.selfhtml.org/archiv/2008/10/t178373/#m1176613

Viele Grüße,
Christian

--
Mein "Weblog" [RSS]
Using XSLT to create JSON output (Saxon-B 9.0 for Java)
»I don't believe you can call yourself a web developer until you've built an app that uses hyperlinks for deletion and have all your data deleted by a search bot.«
            -- Kommentar bei TDWTF