"Robert B. Easter" <reaster(at)comptechnews(dot)com> writes:
> This problem is not specific to Postgres.
The fact that 5*27.81*100 != 27.81*100*5 is certainly a garden-variety
floating-point roundoff error. However, I think Max has a fair
complaint here: it seems float-to-int8 conversion is truncating, not
rounding like the other conversions to integer do.
regression=# select 4.7::float8::int4;
?column?
----------
5
(1 row)
regression=# select 4.7::float8::int8;
?column?
----------
4
(1 row)
Seems to me this is a bug we should fix.
regards, tom lane