Re: Python interface and Money?

Поиск
Список
Период
Сортировка
От Hannu Krosing
Тема Re: Python interface and Money?
Дата
Msg-id 3BD6F5B4.40767418@tm.ee
обсуждение исходный текст
Ответ на Re: Python interface and Money?  (darcy@druid.net (D'Arcy J.M. Cain))
Список pgsql-interfaces
"D'Arcy J.M. Cain" wrote:
> 
> Thus spake Joel Mc Graw
> > I have a table that has a column of type money.  A query such as "select
> > sum(document_amount) from foo" returns the correct result when executed
> > from psql, yet the same query returns the wrong answer (it appears to be
> > a rounding issue--something like "1234.9999999999...") when executed
> > through PygreSQL.  Is there a workaround or a fix?
> 
> That sounds like a Python issue.  The correct value is passed to the
> Python function as a string since it is always stored and delivered
> correctly in the database.  That's sort of the point of the money type.
> 
> I have been thinking of creating a money type in Python so that this
> won't happen but haven't got around to it yet.  In the meantime you
> can always format it with "%.2f" to get the correct value displayed.

There are pure python BigDecimal and Money types available in the same 
place as m2crypto:

http://www.post1.com/home/ngps/m2/ 

Last time I checked the license seemed to be compatible.

> > While browsing the mailing list for an answer to this problem I found
> > several references to the money type being deprecated.  Is that the
> > problem?
> 
> They keep saying that DECIMAL should be used instead but they are not
> exactly equivalent.  The MONEY type was originally written with locale
> support and displays the local currency symbol.

This of course will be a real PITA to parse reliably in the adapter ;(

--------------
Hannu


В списке pgsql-interfaces по дате отправления:

Предыдущее
От: darcy@druid.net (D'Arcy J.M. Cain)
Дата:
Сообщение: Re: Python interface and Money?
Следующее
От: Peter Eisentraut
Дата:
Сообщение: Re: Python interface and Money?