Mailinglisten-Archive |
Hi, Gloss Mathias: > Weil bei Fließkommazahlen z.B. die Zahl 1230 als > 1,23 x 10 hoch 3 dargestellt wird. Und damit gibts > ganz schnell Rundungsdifferenzen, ab und zu schon > bei Operationen wie 2 + 2 = 3,9999 Falsches Beispiel. Integers machen, so der Genauigkeitsbereich ausreicht, keine Probleme. 2+2 ist IMMER exakt 4, auch als Fließkomma, und wenn dein Compiler was anderes generiert, dann ist er nicht IEEE-konform. Auf die Nase fällt man erst mit Nachkommastellen. > Und damit klappt das - solange du die Zahlen nur > innerhalb der DB verwurschtelst. > Wobei man aber sehr genau aufpassen muß, daß der Genauigkeitsbereich eingehalten wird. Beispielweise kann ich in einer zwei-Byte-Integer- variablen Zahlen bis 32767 speichern, aber das heißt trotzdem nicht, daß ein AVERAGE o.ä. über diese Spalte funktioniert, wenn da 1000mal die Zahl 1000 abespeichert ist... Und beim Übernehmen in ein externes Programm darf man natürlich auch kein Fließkomma verwenden, d.h. man muß das Komma manuell rauswerfen oder so. Als C-Programmierer tu ich mir da mit Pfennigen in der Datenbank und einem simplen atol() ehrlich gesagt leichter. -- Matthias Urlichs | noris network GmbH | smurf_(at)_noris.de | ICQ: 20193661 The quote was selected randomly. Really. | http://www.noris.de/~smurf/ -- Architecture is the printing press of all ages, and gives a history of the state in which it was conducted. -- Lady Morgan --- *** Abmelden von dieser Mailingliste funktioniert per E-Mail *** an mysql-de-request_(at)_lists.4t2.com mit Betreff/Subject: unsubscribe
php::bar PHP Wiki - Listenarchive