python四舍五入以及round函数介绍

本文介绍了Python中round函数的工作原理,它遵循四舍六入五成双的规则,可能导致非预期的舍入行为。为实现标准的四舍五入,建议使用decimal模块的quantize方法。示例代码展示了如何使用quantize进行四舍五入,并解释了相关参数含义。此外,文章还对比了round函数和四舍五入的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

python自带的round函数不是咱们常说的四舍五入。下面先说四舍五入的解决办法,再介绍一下round函数的使用规则

用decimal 模块做四舍五入

from decimal import Decimal, ROUND_HALF_UP
result = Decimal('1.5').quantize(Decimal('0'), rounding=ROUND_HALF_UP)

简单解释一下:
首先,‘1.5’ 是要进行四舍五入的数字,注意是字符串格式。
后面的字符串 ‘0’,是要控制小数点的位数,‘0’就是取整,'0.0’就是保留一位小数,0.00’就是保留两位小数,依次类推。
注意,上面那个式子返回的结果是Decimal类型

round函数的原理:

round( x [, n]  )

参数x,n均为数值表达式,返回值为x的四舍五入值。n为保留的小数位数,不加n则只保留x四舍五入后的整数部分。
round函数的原理是四舍六入五成双,五成双的意思是,高位为单数则进1凑成双数,高位为双数则不进位。
例如:

round(1.4)   -- 结果 --> 1
round(1.5)   -- 结果 --> 2
round(1.6)   -- 结果 --> 2
round(2.4)   -- 结果 --> 2
round(2.5)   -- 结果 --> 2
round(2.6)   -- 结果 --> 3

注意上面的round(1.5) 进位,而 round(2.5)则舍去了

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值