Andreas Krauss <andreas@...> wrote:
> SQL> insert into test2 values (31.01);
>
> SQL> select * from test2;
> +-----------------------+
> | int |
> +-----------------------+
> | 31.010000000000002 |
> | 31.010000000000002 |
> | 31.010000000000002 |
> +-----------------------+
> Auf einem anderen System erhalte ich unter ODBC 30.00999999998 als Wert
> zurueck ...
Da Gleitkommazahlen in einem binaeren Format mit endlicher Mantisse
gespeichert und verarbeitet werden, sind "glatte" dezimale
Nachkommastellen oft nicht genau abbildbar.
Siehe auch den Wikipedia-Artikel "Gleitkommazahl", insbesondere den
Abschnitt "Eigenschaften einer Gleitkommaarithmetik".
> wenn ich die Werte mit psql auslese, erhalte ich die richtige Ausgabe
>
> test=# select * from test2;
> int
> -------
> 31.01
> 31.01
> 31.01
> (3 rows)
Was sagt Postgres, wenn du eine Ausgabe mit 15 Nachkommastellen
erzwingst?
--
Christian "naddy" Weisgerber naddy@...
--
http://mailman.uugrn.org/mailman/listinfo/uugrn