3 ms·
Additionally, for exact calculations you might want to use the decimal module. https://docs.python.org/3.5/library/decimal.html#module-decimal https://docs.pyth
by mkesper 11y ago
Additionally, for exact calculations you might want to use the decimal module. https://docs.python.org/3.5/library/decimal.html#module-decimal https://docs.python.org/3.5/library/decimal.html#module-deci...
- Spidler 11y agoBut be wary so you don't pass in floats when creating your decimals In [10]: from decimal import Decimal In [11]: Decimal(0.1) + Decimal(0.2) - Decimal(0.3) Out[11]: Decimal('2.775557561565156540423631668E-17') In [12]: Decimal("0.1") + Decimal("0.2") - Decimal("0.3") Out[12]: Decimal('0.0')
- fulafel 11y agoTry the usual decimally-unrepresentable numbers (like 1/3).
- mkesper 11y agoAs illumen pointed out, Python has also got fractions. For things like Pi however, there is no exact numerical representation and you'd probably want sympy or something similar.
- fulafel 11y agoSure. But the inability to represent 1/3 in decimal is just the same as inability to represent 1/10 in binary. The binary case just seems different because we are using a foreign base (decimal) literal "0.1" to express the binary number.