Floating Point Error Simply Put
fleetingfloating point error simply put
Floating points number are not able to encode 0.1.
import decimal
decimal.Decimal(0.1)
0.1000000000000000055511151231257827021181583404541015625
Therefore, 0.1 added 10 times does not equal to 1.0
0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1 == 1.0
False
But, due to precision approximation, 0.9 and 0.1 equal to 1.0.
0.9 + 0.1 == 1.0
True