In python the decimal calculations using the IEEE 754 algorithm.
>>> a = 4.1
>>> b = 2.2
>>> a + b
6.300000000000001
that means that
>>> (a + b) == 6.3
False
Because python's float type stores data using the native representations.
If you want more accuracy Decimal class from decimal module can help you with that.
>>> from decimal import Decimal
>>> a = Decimal('4.1')
>>> b = Decimal('2.2')
>>> a + b
Decimal('6.3')
>>> (a + b) == Decimal('6.3')
True
>>> a = 4.1
>>> b = 2.2
>>> a + b
6.300000000000001
that means that
>>> (a + b) == 6.3
False
Because python's float type stores data using the native representations.
If you want more accuracy Decimal class from decimal module can help you with that.
>>> from decimal import Decimal
>>> a = Decimal('4.1')
>>> b = Decimal('2.2')
>>> a + b
Decimal('6.3')
>>> (a + b) == Decimal('6.3')
True
No comments:
Post a Comment