Mailinglisten-Archive |
Hallo Taibuca Am 22.11.2009 um 01:01 schrieb Taibuca: > Damit ich mehr Einblick bekomme habe ich mit settype gearbeitet, > Ergebnisse: > 123.24 * 10 * 100 = 123239 > 123.24 * 100 * 10 = 123240 > > Kann mir einer sagen woran das Problem liegt? Umwandlung von Float zu Integer kann zu unerwarteten Resultaten führen, da die Floatoperationen nur mit begrenzter Genauigkeit durchgeführt werden können. Du erwartest, dass dein Floatwert 123.24 intern so repräsentiert wird: 123.24000000000000000000000000000000000000 Es kann aber auch so: 123.24000000000000000000000000000000000001 oder so: 123.23999999999999999999999999999999999999 sein. Dies kannst du nicht voraussehen. Du müsstest also dafür sorgen, dass deine Floatergebnisse immer etwas zu hoch sind. Z. B. durch Addition eines kleinen Wertes vor der impliziten oder expliziten Umwandlung in Integer. http://php.net/manual/de/language.types.float.php Gruß, Hans
php::bar PHP Wiki - Listenarchive