首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >python3.7.5: round()在看似等价的情况下表现不同?

问python3.7.5: round()在看似等价的情况下表现不同?
EN

Stack Overflow用户
提问于 2019-11-13 13:01:26
回答 1查看 46关注 0票数 1

在python 3.7.5下,我执行以下代码并得到一个奇怪的输出

代码语言:javascript
复制
for i in range(10):
    print(round(i+0.5))

​

​

如果我理解正确的话,在round()操作下,任何看起来像xxx...x.5的数字x都应该向上舍入为xxx...x+1,而不管完整的整数部分是偶数还是奇数。我是不是在输入中犯了什么错误?如何解决这个问题?谢谢你的建议!

EN

回答 1

Stack Overflow用户

发布于 2019-11-13 13:23:52

最好使用math模块:

根据需要将round替换为floor或ceil:

代码语言:javascript
复制
from math import floor, ceil

现在,对于向下舍入使用floor(),对于向上舍入使用ceil()

代码语言:javascript
复制
print(floor(2.9))

输出:2

代码语言:javascript
复制
print(ceil(1.1))

输出: 2

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

https://stackoverflow.com/questions/58830587

复制
相关文章

相似问题

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