Sebastian Jurk: Max eines float in mysql abrufen?

Beitrag lesen

Ok... ist die funktion round() in php genauso problembehaftet? Ich habe eine decimal-zahl mit 0.0001 summiert. Danach kam 1.00061709... heraus. Dann wollte ich das Ganze runden mit round(1.00061709..., 8, PHP_ROUND_HALF_DOWN);

Heraus kam: 1.0006171

Wurde da wieder in ein float umgewandelt und dadurch kam der Rundungsfehler zu Stande? Normal hat er in dem Fall hier ja einfach nur auf 7 Stellen gerundet und dann auch noch nach oben. Verstehe nicht wieso.

Ich habe es jetzt erstmal mit der Funktion aus den Kommentaren von round() gelöst:

  
  function rfloor($real,$decimals = 2) {  
    return substr($real, 0,strrpos($real,'.',0) + (1 + $decimals));  
  }

aber woher der rundungsfehler kommt würde ich schon gern wissen.