From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | "Jeroen T(dot) Vermeulen" <jtv(at)xs4all(dot)nl> |
Cc: | pgsql-interfaces(at)postgresql(dot)org |
Subject: | Re: GetValue(), floats, and locales |
Date: | 2003-05-07 16:19:02 |
Message-ID: | 27744.1052324342@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-interfaces |
"Jeroen T. Vermeulen" <jtv(at)xs4all(dot)nl> writes:
> I just got a bothersome bug report from a libpqxx user in Hungary (where,
> as it turns out, floating-point numbers are written with decimal commas
> rather than decimal points). It appears that libpq's GetValue() delivers
> floating-point fields in localized format. The problem with this is that
> libpqxx then tries to parse the numbers using sscanf(), which apparently
> doesn't expect the number to have a decimal comma.
> This begs the question: is it libpq that represents these values using the
> client's locale, or does the server ship them in this form according to
> its own locale?
The server should always ship floats in "standard" representation.
AFAIK the only way to use localized numeric representations is to
write to_char() and to_number() calls (or use the money datatype).
If you can show us a case where plain float display does the other,
it's a bug.
libpq is not doing anything to you, in any case: it's far too stupid
to convert data at all ;-)
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Jeroen T. Vermeulen | 2003-05-07 16:40:25 | Re: GetValue(), floats, and locales |
Previous Message | Tom Lane | 2003-05-07 15:34:12 | Last round (I think) of FE/BE protocol changes |