Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: BUG #3991: pgsql function sum()



"mirek" <mirek(at)mascort(dot)com(dot)pl> writes:
> problem is in: sum(wvat-wvatp) where field in view wvat = 33.08 and wvatp =
> 36.09 
> Result is -3.01000000000001 

> If I ask postgres manualy: select sum(33.08 - 36.09)
> result is ok -3.01 

> Now I fix it with round function but i think that is a bug.

You evidently haven't got much experience with working with
floating-point arithmetic.

regression=# select 33.08::numeric - 36.09::numeric;
 ?column? 
----------
    -3.01
(1 row)

regression=# select 33.08::float8 - 36.09::float8;
     ?column?      
-------------------
 -3.01000000000001
(1 row)

This is not a bug, it's an inherent consequence of the fact that these
decimal values are not exactly represented in a binary floating-point
system.  If you don't like it, don't use float.

			regards, tom lane



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group