In our Arduino projects (programmed in C/C++), we often use a Raspberry Pi for collecting data, and the Python programming language.
Math with floating point is inherently risky, because a decimal number does not store exactly in binary.
in python,
1.1+2.2 = 3.3000000000000003
not the 3.3 you might expect.
we can force the result we are looking for by importing the Decimal module, and setting the desired precision (2 in this example):
>>>from decimal import *
>>> getcontext().prec = 2
>>> Decimal(1.1)+Decimal(2.2)
Decimal(‘3.3’)
Arduino doesn’t have a Decimal function, it uses floating point, but you can work around this by using Fixed Point Arithmetic