Re: math error or rounding problem Money type - Mailing list pgsql-hackers

From Gregory Stark
Subject Re: math error or rounding problem Money type
Date
Msg-id 87lk1fleav.fsf@oxford.xeocode.com
Whole thread Raw
In response to Re: math error or rounding problem Money type  (Mark Kirkwood <markir@paradise.net.nz>)
Responses Re: math error or rounding problem Money type  (Jan Urbański <j.urbanski@students.mimuw.edu.pl>)
Re: math error or rounding problem Money type  ("Merlin Moncure" <mmoncure@gmail.com>)
List pgsql-hackers
"Mark Kirkwood" <markir@paradise.net.nz> writes:

> IFAIK (dimly recalling numerical analysis courses at university) SUM and ROUND
> can *never* be commuted. In general the recommended approach is to round as
> late as possible and as few times are possible - so your 1st query is the
> correct or best way to go.

I don't think "as late as possible" applies with money. If you were dealing
with approximate measurements you want to round as late as possible because
rounding is throwing away precision. But if you're dealing with money you're
dealing with exact quantities. 

There is only going to be one correct time to round and that's whenever you're
creating an actual ledger item or order line item or whatever. Once you've
calculated how much interest to credit or whatever you have to make that
credit an exact number of cents and the $0.004 you lost or gained in rounding
never comes up again.

--  Gregory Stark EnterpriseDB          http://www.enterprisedb.com Ask me about EnterpriseDB's PostGIS support!


pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: handling TOAST tables in autovacuum
Next
From: Gregory Stark
Date:
Subject: Re: Overhauling GUCS