为变量Python分配小数

时间:2018-09-09 21:48:51

标签: python

晚上好,

我需要有关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

但是它不起作用...请帮助

3 个答案:

答案 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)

给定整数int()会截断小数部分,因此

n = 4.5
fractional = n - int(n) #0.5

你可以得到它。

答案 2 :(得分:1)

使用字符串更简单的方法是:

number = 123.4    
number_dec = str(number).split(".")[1]
print(number_dec)

输出:

4