> On Jun 1, 2017, at 9:26 AM, Louis Battuello <louis.battue...@etasseo.com> 
> wrote:
> 
> Is the round() function implemented differently for double precision than for 
> numeric? Forgive me if this exists somewhere in the documentation, but I 
> can't seem to find it.

https://www.postgresql.org/docs/current/static/datatype-numeric.html#DATATYPE-NUMERIC-DECIMAL

"When rounding values, the numeric type rounds ties away from zero, while (on 
most machines) the real and double precision types round ties to the nearest 
even number.".

> Why does the algorithm vary by data type?

Just guessing, but I'd assume because the NUMERIC type behaves as required by 
the SQL spec, while float and double are vanilla IEEE754 arithmetic and will do 
whatever the underlying hardware is configured to do, usually round to nearest 
even.

Cheers,
  Steve



-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to