[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Probleme mit PostgreSQL und ODBC unter Ubuntu


Andreas Krauss <andreas@xxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxx
-- 
http://mailman.uugrn.org/mailman/listinfo/uugrn