def function():
n=123.456
x=int(n)
y=n-int(n)
print(x,y)
结果:
x= 123
y= 0.45600000000000307
如何在不使用库函数的情况下精确获取.456
,
n
可以是任意 float
最佳答案
如果您从一开始就知道小数位数是 3,那么:
y = round(n - int(n), 3)
如果您不知道小数位数,那么您可以这样算出来:
y = round(n - int(n), str(n)[::-1].find('.'))
正如furas指出的,您还可以使用decimal
包:
from decimal import Decimal
n = Decimal('123.456')
y = n - int(n)
关于python - 如何摆脱Python减法中的额外 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58687240/