Re: rounding problems - Mailing list pgsql-general

From Tomasz Ostrowski
Subject Re: rounding problems
Date
Msg-id 482937E9.9030509@batory.org.pl
Whole thread Raw
In response to Re: rounding problems  (Justin <justin@emproshunts.com>)
Responses Re: rounding problems
List pgsql-general
On 2008-05-12 20:49, Justin wrote:

> We take (List Price * discount Percent) * Number of Pieces = net
> price.

This is wrong. You should do in Excel:
( price * amount ) * discount
As otherwise any small error in representation of price*discount would
be multiplied by usually high amount.

I'd do this way to get it right:
round( round(price * amount, 2) * discount, 2)
This way every sum should match. There could be errors, but in pennies,
not dollars. These errors will be because Excel does not have a decimal
type.

It is a lost case to break Postgres so it will match Excel. Much easier
would be to correct Excel spreadsheet. And this is a right thing to do.

Regards
Tometzky
--
...although Eating Honey was a very good thing to do, there was a
moment just before you began to eat it which was better than when you
were...
                                                      Winnie the Pooh


pgsql-general by date:

Previous
From: "Albe Laurenz *EXTERN*"
Date:
Subject: Re: How to create a function with multiple RefCursor OUT parameters
Next
From: Volkan YAZICI
Date:
Subject: no privileges were granted