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)则舍去了