Re: Python interface and Money?
От | darcy@druid.net (D'Arcy J.M. Cain) |
---|---|
Тема | Re: Python interface and Money? |
Дата | |
Msg-id | 20011024120444.32D2B1A65@druid.net обсуждение исходный текст |
Ответ на | Python interface and Money? (Joel Mc Graw <jmcgraw@databill.com>) |
Список | pgsql-interfaces |
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. > 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. -- D'Arcy J.M. Cain <darcy@{druid|vex}.net> | Democracy is three wolves http://www.druid.net/darcy/ | and a sheep voting on +1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner.
В списке pgsql-interfaces по дате отправления: