Das Problem hierbei ist die Art und Weise wie float/double-Werte hinterlegt werden. Sie werden nämlich nicht dezimal, so wie du sie siehst intern verarbeitet, sondern in Hexdump-Darstellung (frag mich bitte keiner nach Details
). Dabei wird die Zahl entsprechend umgerechnet, und die Ungenauigkeit resultiert aus der mathematischen Inkompatibilität von Hex und Dezimal. (Boaaa, klingt das abgehoben
)
Von daher bist du bei float's immer mit einem minimalen Informationsverlust unterwegs. Und genau DER ist es, der dir in die Suppe spuckt!
Das Verfahren das trifid gezeigt hat ist für Vergleiche von floats üblich und sinnvoll.
gruss,
dizzy
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel