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.