Zitat von
ibp:
wie kann man das dann umgehen? mit welchen typ oder gibt es einen korrekturfaktor?
Einen Korrekturfaktor kann es
imho nicht geben, da nach der Umwandlung ja nicht mehr eindeutig ist welche Zahl ursprünglich hineingesteckt wurde. So würde (vermute ich mal) 0.2 und 0.20000001 zur selben Zahl bei Single-Typen führen, und du bekommst ja nie wieder heraus, welche Zahl nun wirklich genommen wurde. Das ganze ist ein konzeptionelles Problem, und lässt sich (faktisch) garnicht lösen. Der Fehler lässt sich lediglich minimieren: Durch mehr Bits
Also ist die Top-Genauigkeit (mit generischen Typen) Double bzw. Extended. Wenn du es 100%ig brauchst, dann böte sich evtl. eine Library an die die Daten anders hinterlegt (z.B. als String). (Kenne spontan keine für Floats.)
Eine andere Sache ist: Wie genau brauchst du's denn? Reichen evtl. nicht so 10 Stellen nach dem Komma? Dann kann man mit Runden noch was reissen
.
btw: Mit der o.g. genormten Darstellung von Floats ist übrigends die Null
unmöglich. Da wird dann aber in der FPU ein Flag geführt.
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel