If the number of significant digits in the input is not fixed, it becomes challenging to achieve consistent results by rounding.
for example
postgres=# select round(1.003/1.002*5.01,2);
?column?
--------------------------
5.01
(1 row)
postgres=# select round(1.003*5.01/1.002,2);
?column?
--------------------
5.02
(1 row)
Hi PostgreSQL community,
I have observed inconsistent results when performing division and multiplication operations in PostgreSQL.
postgres=# select 1.003/1.002*5.01;
?column?
--------------------------
5.0149999999999999999806
(1 row)
postgres=# select 1.003*5.01/1.002;
?column?
--------------------
5.0150000000000000
(1 row)
However, the expected result should be consistent for both queries. The actual results differ