claudio: was macht mein mysql da bloss??

Beitrag lesen

'Moin,

SELECT min(preis) FROM waren WHERE typ=12 hats mich jetzt geschockt, DENN der kleinste preis ist 0.59, aber die ausgabe war:

0.58999997377396

... ?!?

Ist ein leidiges Problem. FLOATs sind mitunter ziemlich mühsam.

Kleiner Workaround: DECIMAL verwenden. Dann werden die Preise zumindest exakt _gespeichert_. Sobald aber mit DECIMALs gerechnet wird, hast Du dann wieder das selbe Problem, da für Berechnungen ein DECIMAL als FLOAT angesehen wird :-(

Ich empfehle hierzu folgende Lektüre:

http://dev.mysql.com/doc/mysql/en/Problems_with_float.html (leider nur in Englisch, dafür werden auch Ansätze zur Lösung beschrieben)

Grüsse

claudio