Re: Rounding problems
| От | Tom Lane | 
|---|---|
| Тема | Re: Rounding problems | 
| Дата | |
| Msg-id | 11625.1241362365@sss.pgh.pa.us обсуждение исходный текст | 
| Ответ на | Rounding problems ("Paolo Saudin" <paolo@ecometer.it>) | 
| Ответы | R: Rounding problems | 
| Список | 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 по дате отправления: