Re: Rounding problems - Mailing list pgsql-general

From Tom Lane
Subject Re: Rounding problems
Date
Msg-id 11625.1241362365@sss.pgh.pa.us
Whole thread Raw
In response to Rounding problems  ("Paolo Saudin" <paolo@ecometer.it>)
Responses R: Rounding problems
List pgsql-general
"Paolo Saudin" <paolo@ecometer.it> writes:
> I have a problem with a query wich simple aggregate values. In the sample
> below I have two values, 1.3 and 1.4. Rounding their average with one
> decimals, should give 1.4.

You seem way overoptimistic about float4 values being exact.  They are
not.  The actual computation being done here is more like

regression=# select (1.3::real + 1.4::real) / 2 ;
     ?column?
------------------
 1.34999990463257
(1 row)

If you want an exact sum with no roundoff error you should be storing
all your values as numeric (and taking the consequent speed and space
hit :-().

            regards, tom lane

pgsql-general by date:

Previous
From: Justin
Date:
Subject: Re: Rounding problems
Next
From: "Paolo Saudin"
Date:
Subject: R: Rounding problems