phpbar.de logo

Mailinglisten-Archive

Verhalten von FLOAT

Verhalten von FLOAT

Ralf Eggert ralf@in-greece.de
Tue Oct 29 08:37:52 2002


Hallo Martin,

>Weiterhin geht es mir zunaechst um den Typ FLOAT[(M,D)]. Um zu wissen,
>welchen NUMBER-Typ in Oracle ich in FLOAT umwandeln kann, muss ich
>wissen, wie sich M und D zueinander verhalten und wie sie den
>Fliesskommawert beeinflussen. Das Problem dabei ist, dass ich bisher
>nicht herausfinden konnte, wann die Fliesskommzahl gerundet wird und
>wann nicht. Welche Bedingungen dabei fuer M und D beachtet werden
>muessen. Hat hier jemand eine Idee?

Zuerst ein Verweis auf die Doku (evtl. umgebrochen).

http://www.mysql.de/documentation/mysql/bychapter/manual.de_Reference.ht
ml#Column_types

Hier werden unter anderem auch die Unterschiede zwischen der
Deklaration FLOAT(M) und FLOAT[(M,D)] erlaeutert. Wenn ich das richtig
verstanden habe, sind FLOAT[(M,D)] unechte Fliesskommazahlen, d.h. die
Werte werden unter Umstaenden gerundet. M gibt die maximale Anzahl an
Zeichen an und D die Anzahl der Dezimalstellen. 

Beispiele fuer Rundungen:

Zahl    Spalte          Rundung
1.9876  FLOAT(5,2)      1.99
1.9876  FLOAT(5,3)      1.988
1.9876  FLOAT(6,4)      1.9876

Die Deklaration FLOAT(5,4) ist uebrigens nicht zulaessig, da D nicht
groesser als M-2 sein darf. Ist aufgrund der Vorkommastelle und des
Dezimalzeichens ja auch logisch.

Anders verhaelt sich die Definition als FLOAT(M), da es sich seit MySQL
3.23 um echte Fliesskommazahlen handelt. Hierbei hat FLOAT(4) eine
einfache und FLOAT(8) eine doppelte Genauigkeit, d.h. die Wertebereiche
liegen in diesen Bereichen:

Deklaration     Maxwert                     Minwert
FLOAT(4)        -/+3.402823466E+38          -/+1.175494351E-38
FLOAT(8)        -/+1.7976931348623157E+308  -/+2.2250738585072014E-308

Vielleicht hilft dir dies ja schon etwas.

Gruss,

        Ralf

-- 
_____________________________________________
  In-Greece.de - die Griechenlandcommunity
_________ http://www.in-greece.de/ __________

-- 
Infos zur Mailingliste, zur Teilnahme und zum An- und Abmelden unter
-->>  http://www.4t2.com/mysql 


php::bar PHP Wiki   -   Listenarchive