"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:
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 ;(
In response to
pgsql-interfaces by date
|Next:||From: Tom Lane||Date: 2001-10-24 21:10:44|
|Subject: Re: Python interface and Money? |
|Previous:||From: nitinpdhavale||Date: 2001-10-24 15:13:10|
|Subject: variable length arrays (fields)|