+2 votes


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 ?

asked by

1 Answer

+2 votes
Best answer

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
answered by
selected by
686 questions
705 answers
434 users