如果已经有人问到这一点,请原谅,但为什么这样做:
a=4
b=5
c=float(a/b)
print c给出
>>>>
0.0而不是0.8?
发布于 2016-10-04 15:12:18
在Python2中,两个整数之间的除法将返回一个整数(将最接近的整数舍入到0),在本例中为0。您的代码基本上是float(0),即0.0。
如果要返回浮点数,则需要首先将其中一个值更改为浮点数。
这种行为在Python3中是改变的,在这里,两个整数之间的除法将返回一个浮点,在本例中是0.8。
发布于 2016-10-04 15:11:52
因为这是整数除法:
>>> 4/5
0如果您想获得0.8,请在除法之前先将其中的一个转换为浮点数:
>>> 4/float(5)
0.8发布于 2016-10-04 15:53:47
如果您不想在其中一个变量中引入浮点数。你可以这样做:
from __future__ import division
4/5这将给出你想要的0.8,而不必引入浮动。
https://stackoverflow.com/questions/39855857
复制相似问题