晚上好,
我需要有关python项目的帮助。我有兴趣了解以下内容。
假设我在python中将两个数字相乘。
number = x * y
让我们说x为= 3,y为= 3.2
总数是9.6
现在我对该.6感兴趣
我想将.6
分配给一个变量,以便以后可以将其相乘。
如何为变量分配.6
?
我尝试使用以下内容:
a = 123.4
number_dec = str(a-int(a))[1:]
a2 = number_dec * 2
但是它不起作用...请帮助
答案 0 :(得分:4)
Python支持对浮点数进行模运算,因此您可以使用
>>> 9.6 % 1
0.5999999999999996
请注意,如果数字为负,这将无法满足您的需求:
>>> -9.6 % 1
0.40000000000000036
所以通常您会想要
frac = abs(value) % 1
这是我看过的最快的
%timeit frac = abs(value) % 1
77.1 ns ± 0.568 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
%timeit frac = abs(value) % int(value)
196 ns ± 5.77 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each)
%timeit frac = value - int(value)
156 ns ± 2.42 ns per loop (mean ± std. dev. of 7 runs, 10000000 loops each)
答案 1 :(得分:2)
答案 2 :(得分:1)
使用字符串更简单的方法是:
number = 123.4
number_dec = str(number).split(".")[1]
print(number_dec)
输出:
4