Python的数学模块包含方便的函数,如floor
和ceil
。这些函数接受一个浮点数,并返回它下面或上面的最接近的整数。但是,这些函数以浮点数的形式返回结果。例如:
import math
f=math.floor(2.3)
现在f
返回:
2.0
从这个浮点数中获取整数的最安全方法是什么,而不会有舍入错误的风险(例如,如果浮点数等于1.99999),或者我应该完全使用另一个函数?
发布于 2013-01-26 19:16:54
使用int(your non integer number)
将会解决这个问题。
print int(2.3) # "2"
print int(math.sqrt(5)) # "2"
发布于 2010-08-02 20:31:09
您可以使用round函数。如果你不使用第二个参数(有效位数),那么我认为你会得到你想要的行为。
空闲输出。
>>> round(2.99999999999)
3
>>> round(2.6)
3
>>> round(2.5)
3
>>> round(2.4)
2
发布于 2014-06-21 23:06:19
结合前面的两个结果,我们得到了:
int(round(some_float))
这样可以相当可靠地将浮点数转换为整数。
https://stackoverflow.com/questions/3387655
复制相似问题