Submit your use case or success story to the 2023 edition of the Dataiku Frontrunner Awards ENTER YOUR SUBMISSION

Rounding issues

Solved!
DSS_User
Dataiker
Rounding issues

Hi,



I don't understand why in a prepare recipe, the sum of 2 values rounded at a single decimal can be a number with more than one decimal ?



1 Solution
Clément_Stenac
Dataiker
Hi,

DSS, like many other software, uses floating-point arithmetics (https://en.wikipedia.org/wiki/Floating-point_arithmetic).

One of the main characteristics of this kind of computation is that it uses a fixed amount of memory to represent all numbers, and thus cannot represent numbers with an infinite precision.

Due to details of how these numbers are represented, some rounding issues can always happen when doing computations, even very simple ones, because the result might not be representable exactly.

A quite famous example of this is 0.1 + 0.2, which is not equal to 0.3 in floating point arithmetic but 0.300000000004

You will need to reformat your number, as shown here: http://answers.dataiku.com/1027/change-precision-of-double-number

View solution in original post

1 Reply
Clément_Stenac
Dataiker
Hi,

DSS, like many other software, uses floating-point arithmetics (https://en.wikipedia.org/wiki/Floating-point_arithmetic).

One of the main characteristics of this kind of computation is that it uses a fixed amount of memory to represent all numbers, and thus cannot represent numbers with an infinite precision.

Due to details of how these numbers are represented, some rounding issues can always happen when doing computations, even very simple ones, because the result might not be representable exactly.

A quite famous example of this is 0.1 + 0.2, which is not equal to 0.3 in floating point arithmetic but 0.300000000004

You will need to reformat your number, as shown here: http://answers.dataiku.com/1027/change-precision-of-double-number