I want to print a double in Python. But it doesn't work, and I don't
know why.
My
code:
test = 3000 / (1500 *
2000)
print
str(test)
I always get
a 0
and not a 0.001
even if I do the
following:
test = 3000 / (1500 *
2000)
print '%.10f' %
test
I get a
0.000000000
and not
0.001
.
How do I tell
Python that this should be a double?
In Python
2.x you need to convert at least one of the operands to float, as integer division
results in truncated output in Python 2.x:
>>> 3000 / (1500 *
2000)
0
>>> 3000.0 / (1500 * 2000) # Or use
float(3000)
0.001
>>> float(3000) / (1500 *
2000)
0.001
Or
you can import division of Python 3.x in Python 2.x, where integer division results in
true
division:
>>> from
__future__ import division
>>> 3000.0 / (1500 *
2000)
0.001
Note
that this will affect the division in the whole module.
No comments:
Post a Comment