我有两个整数值a和b,但我需要它们在浮点数中的比值。我知道a < b,我想计算a / b,所以如果我用整数除法,我总是得到0,余数是a。

如何在以下Python 2中强制c为浮点数?

c = a / b

在3。X,行为是相反的;参见为什么整数除法产生一个浮点数而不是另一个整数?反之为3。x-specific问题。


当前回答

from operator import truediv

c = truediv(a, b)

其他回答

在Python 3中。X,单斜杠(/)总是表示真(非截断)除法。(//运算符用于截断除法。)在Python 2中。X(2.2及以上),您可以通过放置一个

from __future__ import division

在模块的顶部。

from operator import truediv

c = truediv(a, b)

a是被除数,b是除数。 当两个整数除法后的商为浮点数时,此函数非常方便。

只要将任何用于除法的参数设置为浮点格式,也会产生浮点格式的输出。

例子:

>>> 4.0/3
1.3333333333333333

or,

>>> 4 / 3.0
1.3333333333333333

or,

>>> 4 / float(3)
1.3333333333333333

or,

>>> float(4) / 3
1.3333333333333333
c = a / (b * 1.0)
from operator import truediv

c = truediv(a, b)