Python 为变量赋值小数

Python 为变量赋值小数,python,Python,大家晚上好 我需要python项目的帮助。我有兴趣了解以下内容 假设我在python中将两个数字相乘 数字=x*y 假设x=3,y=3.2 总数是9.6 现在我对此很感兴趣 我想将该.6赋值给一个变量,以便稍后将其相乘 如何将.6赋值给变量 我尝试使用以下方法: a = 123.4 number_dec = str(a-int(a))[1:] a2 = number_dec * 2 但它不起作用。。。请帮助Python支持对浮点数的模运算,因此您可以使用 >>> 9.6 %

大家晚上好

我需要python项目的帮助。我有兴趣了解以下内容

假设我在python中将两个数字相乘

数字=x*y

假设x=3,y=3.2

总数是9.6

现在我对此很感兴趣

我想将该
.6
赋值给一个变量,以便稍后将其相乘

如何将
.6
赋值给变量

我尝试使用以下方法:

a = 123.4
number_dec = str(a-int(a))[1:]
a2 = number_dec * 2

但它不起作用。。。请帮助

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)
给定一个整数将截断小数部分,因此

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

你可以得到它。

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

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

4

我建议你检查一下
值%int(value)
,这有点重复,需要两倍多的时间。但它适用于负数是的,但先取绝对值也是如此,速度非常快。但是
-0.6
是正确的答案。@PeterWood这不会给出一个字符,它将在
之后提供所有内容,这正是OP所要求的。(好吧,直到你在一个浮点数上尝试它,它的字符串表示需要指数表示法…>)我还假设这个例子只针对一个小数点,但实际上他们想要更一般的东西。我想你错过了什么,我的错。删除。