如何在Python中识别浮点的十分之一部分?

如何在Python中识别浮点的十分之一部分?,python,floating-point,decimal,Python,Floating Point,Decimal,在查看了Python中的各种数学、浮点和十进制函数之后,我还没有找到我要查找的内容。在我的程序中,可能会有返回浮点值的实例,我需要浮点值信息以便执行另一个函数。假设基于用户的输入,我们使用的商是1.4,我将用X.Y表示。如何分离Y,以便使用FOR语句。(在这种情况下,我需要程序执行4次操作。)我尝试过使用%函数,但它返回的是余数,而不是我要查找的值。我试过math.fmod和math.modf。又不是我要找的。我也看了。怎么样 x = 1.4 y = 10 * (x - int(x)) >

在查看了Python中的各种数学、浮点和十进制函数之后,我还没有找到我要查找的内容。在我的程序中,可能会有返回浮点值的实例,我需要浮点值信息以便执行另一个函数。假设基于用户的输入,我们使用的商是1.4,我将用X.Y表示。如何分离Y,以便使用FOR语句。(在这种情况下,我需要程序执行4次操作。)我尝试过使用%函数,但它返回的是余数,而不是我要查找的值。我试过math.fmod和math.modf。又不是我要找的。我也看了。怎么样

x = 1.4
y = 10 * (x - int(x))
>>> 4
看起来
int((x*10)%10)
可以:

>>> x = 1.4
>>> int((x*10) % 10)
4

或者,您可以将其作为字符串操作

x=1.4
whole,fractional = map(int,str(x).split("."))

之后,整数等于1,分数等于4。。。它应该同样适用于负数

在你的情况下,你知道小数点后的位数吗?商需要什么样的输入验证?如果用户输入8.675309,循环是否会运行675309次?@JosefAssad-+1到您的注释中获取示例值。我将值四舍五入到第十位。因此,当一个浮点返回时,我将指示某个事件发生4次。假设
x
始终是精确的十分之一,也就是说,对于某个整数
n
,形式为
n
,则执行
int(四舍五入(x*10)%10)
。否则,如果由于浮点不准确而导致
x*10
太小,您就有可能得到错误的答案。[事实证明,使用IEEE 754算法,并将二分之一到二分之一取整为偶数,
(n/10.0)*10.0==n
表示任何可精确表示的整数
n
,但这是一种意外。例如,如果将
10.0
替换为
100.0
,它就不会保持正确。]“任何可精确表示的整数n”。呸。也就是说“任何足够小的可精确表示的整数n.”:-)。。。也就是说,任何
n
不大于
5*2**50
。好吧,我现在就闭嘴。