Hello,

i have an unexpected behaviour with a Dataflow.

Performing a simple calculation, C = A + B, a double cube is somehow getting tiny amounts. All cubes are Double type. Representing the information in a dataview, all rows only have numbers with 2 decimal places: yet the subtotal shows very small digits differences (e.g. -0.000000000003637979).

Do you know why this could happen?

Thanks,

Hello,

Every sum algorithm is based on binary numbers, that's why you might incur in situations where a sum has those little discrepancies. Try to put a ROUND function in your dataflow when calculating C block to avoid this issue.

e.g.

C=ROUND(A+B,2) > this should round your numbers to the second decimal digit and solve the issue.

Considering the situation in a broader perspective, we can say that a number with a finite number of decimal digits in decimal base, may have an infinite number of decimal digits in its binary expression.

Moreover, the floating point (applied in BOARD) gives extra precision to the result when it's zero because it uses less digits for the non-decimal part. Since almost every computing engine (and this includes BOARD) uses binary expressions of numbers and finite number of decimal digits, the above consideration should be taken into account when handling very large numbers in each cell (trillions/billions with high number of decimals).

Hope this helped,

Antonio Speca

Product specialist