在python 3中,是否有任何方法只能在除法后返回小数值?
例如,如果我在此方法中将4除以5,则返回8.
答案 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)