Re: GetValue(), floats, and locales
От | Tom Lane |
---|---|
Тема | Re: GetValue(), floats, and locales |
Дата | |
Msg-id | 27744.1052324342@sss.pgh.pa.us обсуждение исходный текст |
Ответ на | GetValue(), floats, and locales ("Jeroen T. Vermeulen" <jtv@xs4all.nl>) |
Ответы |
Re: GetValue(), floats, and locales
|
Список | pgsql-interfaces |
"Jeroen T. Vermeulen" <jtv@xs4all.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
В списке pgsql-interfaces по дате отправления: