Data Types von MySQL (float oder double)
thomas k
- datenbank
0 thomas k0 code2i
0 Thomas Meinike
Hi,
ich will Fliesskommazahlen abspeichern. (123456.1234)
ich brauch eine Genauigkeit von 6 Stellen vor und 4 stellen nach dem Komma.
Was würdet ihr nehmen? float oder double?
was ist der unterschied zwischen float und double?
Ist 6 Stellen vor, 4 Stellen nach dem Komma float (6,4) oder float (10,4)?
Danke,
Thomas
Ist 6 Stellen vor, 4 Stellen nach dem Komma float (6,4) oder float (10,4)?
ok, dumme Frage, kann man ja schnell ausprobieren. ;-)
hab ich auch gleich mal gemacht und musste feststellen, dass für 123456.1234 float (11,4) bzw. double (11,4) richtig wär.
die Frage nach dem Unterschied von double und float steht trotzdem noch :-)
moin
hmmmm....
float ---> Fließkommazahl
-3,40282347E+38 bis +3,40282347E+38
double ---> Fließkommazahl
-1,7976931348623157E+308 bis +1,7976931348623157E+308
aber .... noch mal in der mySQL Doku nachschauen, muss da drin stehen. (Eigentlich) gell. Weil könnte bei mySQL nen bischen anders sein... und dann ich schuld ... das nicht fair.
cu
Hallo,
ich will Fliesskommazahlen abspeichern. (123456.1234)
ich brauch eine Genauigkeit von 6 Stellen vor und 4 stellen nach dem Komma.
Was würdet ihr nehmen? float oder double?
was ist der unterschied zwischen float und double?
Ist 6 Stellen vor, 4 Stellen nach dem Komma float (6,4) oder float (10,4)?
FLOAT (4 Bytes) speichert Werte mit einfacher Genauigkeit (8 Nachkommastellen) und DOUBLE (8 Bytes) mit doppelter Genauigkeit (16 Nachkommastellen).
Vielleicht nuetzt Dir auch DECIMAL etwas, in diesem Fall DECIMAL(6,4), wobei die Daten intern als Zeichenkette gespeichert werden.
U. a. Bei Geldbetraegen ist DECIMAL sinnvoll. Ansonsten kann Du auch FLOAT/DOUBLE nehmen und die Werte ggf. runden. Dafuer gibt es die Funktion ROUND(). ROUND(a) rundet a auf die naechste ganze Zahl und ROUND(a,4) rundet a auf 4 Stellen nach dem Komma.
MfG, Thomas