因为工作需要,需要将浮点数进行四舍五入。

num=1.0
for i in range(20):
    num= round(num+0.05,2)
    print(f"数字:{num} 四舍五入取整:{int(num+0.5)}")
    
>>>
数字:1.05 四舍五入取整:1
数字:1.1 四舍五入取整:1
数字:1.15 四舍五入取整:1
数字:1.2 四舍五入取整:1
数字:1.25 四舍五入取整:1
数字:1.3 四舍五入取整:1
数字:1.35 四舍五入取整:1
数字:1.4 四舍五入取整:1
数字:1.45 四舍五入取整:1
数字:1.5 四舍五入取整:2
数字:1.55 四舍五入取整:2
数字:1.6 四舍五入取整:2
数字:1.65 四舍五入取整:2
数字:1.7 四舍五入取整:2
数字:1.75 四舍五入取整:2
数字:1.8 四舍五入取整:2
数字:1.85 四舍五入取整:2
数字:1.9 四舍五入取整:2
数字:1.95 四舍五入取整:2
数字:2.0 四舍五入取整:2

原理:

使用 int() 将小数转换为整数,小数取整会采用比较暴力的截断方式,即向下取整。

如:

1.5向上取整为2,

1.5向下取整为1

正常情况下 int(1.5) 结果为1,但只要在将该数字+0.5,那么就得到这个数字四舍五入的整数


本文地址: http://chenxm.cc/article/1083.html
版权声明: 本文为原创文章,版权归  陈新明  所有,欢迎分享本文,转载请保留出处!
上一篇: django 全局上下文处理器(Context Processors)详解及如何自定义
下一篇: django3 Refused to display 'url' in a frame because it set 'X-Frame-Options' to 'deny'
发表评论

还没有留言,还不快点抢沙发?