首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在python中将浮点型转换为整型的最安全的方法?

在python中将浮点型转换为整型的最安全的方法?
EN

Stack Overflow用户
提问于 2010-08-02 20:20:21
回答 6查看 739.1K关注 0票数 254

Python的数学模块包含方便的函数,如floorceil。这些函数接受一个浮点数,并返回它下面或上面的最接近的整数。但是,这些函数以浮点数的形式返回结果。例如:

代码语言:javascript
复制
import math
f=math.floor(2.3)

现在f返回:

代码语言:javascript
复制
2.0

从这个浮点数中获取整数的最安全方法是什么,而不会有舍入错误的风险(例如,如果浮点数等于1.99999),或者我应该完全使用另一个函数?

EN

回答 6

Stack Overflow用户

发布于 2013-01-26 19:16:54

使用int(your non integer number)将会解决这个问题。

代码语言:javascript
复制
print int(2.3) # "2"
print int(math.sqrt(5)) # "2"
票数 135
EN

Stack Overflow用户

发布于 2010-08-02 20:31:09

您可以使用round函数。如果你不使用第二个参数(有效位数),那么我认为你会得到你想要的行为。

空闲输出。

代码语言:javascript
复制
>>> round(2.99999999999)
3
>>> round(2.6)
3
>>> round(2.5)
3
>>> round(2.4)
2
票数 56
EN

Stack Overflow用户

发布于 2014-06-21 23:06:19

结合前面的两个结果,我们得到了:

代码语言:javascript
复制
int(round(some_float))

这样可以相当可靠地将浮点数转换为整数。

票数 47
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3387655

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档