I calculated the following:
>>> float(10.0-9.2)
0.800000000000000*7*
even doing 10.0-9.2 gave the above result. Why is the extra 7 coming in the result?
I'm on python 3.2.
Floating point arithmetic has built-in problems as it's based on a binary approximation of numbers.
There is a good explanation of this in the Python docs.
You can check out the decimal
module if you need more exact answers.
You can use round()
for example:
print(round(10 - 9.2, 2))
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With