Tom Lane wrote:
Justin <[EMAIL PROTECTED]> writes:
I believe i have found a math bug/rounding problem with Money type when its used with SUM()... Postgresql 8.3.1

You do know that money only stores two fractional digits?

                        regards, tom lane
yes.  The question is why are the to sides not equal anymore

Take this

Select
   '2',
   round(sum( beginBalance ),6) as beginbalance,
   round(sum( negative ),6) as debit,
   round(sum( positive ),6) as credit,
   round(sum( difference ),6) as difference,
   round(sum( endbalance),6) as endbalance
from trailbalance
union
Select
   '1',
   sum( round(beginBalance,6)) as beginbalance,
   sum( round(negative,6)) as debit,
   sum( round(positive,6)) as credit,
   sum( round(difference,6)) as difference,
   sum( round(endbalance,6)) as endbalance
from trailbalance

"1"  -0.000006   -11250546.743752    11250546.743752   0.000000   -0.000007
"2"   0.000000    -11250546.743752   11250546.743752   0.000000    0.000000

At the very least this show a clear warning when rounding do it after all the sum function is called not before.

Reply via email to