python中四舍五入函数round

作者: admin 分类: python 发布时间: 2024-01-24 12:15

今天一个python程序需要用到四舍五入,搜到了round函数,相关文章有很多介绍:

https://www.python100.com/html/V9K2FD065M2X.html

https://www.python100.com/html/92846.html

但我用的时候,还是出现了些问题,比如:

qianneng_renshu=round(23/3,0)    #取总人数的三分之一,小数进行四舍五入处理

本以为这样小数位为0,即只有整数位,但结果不是这样的,如果只要整数位,那么应该这么写:

qianneng_renshu=round(23/3)    #取总人数的三分之一,小数进行四舍五入处理

至于为什么是这样,还不清楚,但这两者是有区别的。


2024年2月24号补充:

通过查阅资料发现,以上的方法还是很有问题的,具体参考文章:https://zhuanlan.zhihu.com/p/115431517

文章内容较多,但具体到使用环节,用以下代码即可实现:

from decimal import Decimal

##代码解释和来源:https://zhuanlan.zhihu.com/p/115431517

a = "1.345"
#保留几位小数由像第二个括号中的几位小数决定,即保留两位小数,精确到0.01
#如果想要四舍五入保留整数,那么第二个括号中就应该为"1."
a_t = Decimal(a).quantize(Decimal("0.01"), rounding = "ROUND_HALF_UP")
print(a_t)

a = "2.5"
a_t = Decimal(a).quantize(Decimal("1."), rounding = "ROUND_HALF_UP")
print(a_t)

 

相关文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Powered by 草根站长笔记 © 2015-2020 草根站长笔记 Inc.版权所有,禁止转载