是否有任何方法只能在除法后返回小数? (Python3)

时间:2011-03-01 00:22:36

标签: python math division

在python 3中,是否有任何方法只能在除法后返回小数值?

例如,如果我在此方法中将4除以5,则返回8.

4 个答案:

答案 0 :(得分:2)

使用浮点除法。 e.g:

(11.0 / 5) % 1 = 0.20000000000000018

(1.0 * 11 / 5) % 1 = 0.20000000000000018

答案 1 :(得分:1)

这个怎么样?

>>> int(((4.0 / 5.0) % 1) * 10)
8

答案 2 :(得分:0)

您可以使用int轻松计算通用数字a

int(10*a)%10

但请注意,这仅适用于正数!

如果你想让它也适用于负数:

int(10*a*cmp(a,0))%10*cmp(a,0)

答案 3 :(得分:0)

您可以在没有浮点运算的情况下执行此操作,对吗?

foo=lambda x,y: (10*(x%y))/y)

# Demo
>>> for i in range(20):
...   print(foo(i,7), i/7.0)
... 
(0, 0.0)
(1, 0.14285714285714285)
(2, 0.2857142857142857)
(4, 0.42857142857142855)
(5, 0.5714285714285714)
(7, 0.7142857142857143)
(8, 0.8571428571428571)
(0, 1.0)
(1, 1.1428571428571428)
(2, 1.2857142857142858)
(4, 1.4285714285714286)
(5, 1.5714285714285714)
(7, 1.7142857142857142)
(8, 1.8571428571428572)
(0, 2.0)
(1, 2.1428571428571428)
(2, 2.2857142857142856)
(4, 2.4285714285714284)
(5, 2.5714285714285716)
(7, 2.7142857142857144)