round()四舍五入

2020-06-16  本文已影响0人  清晨起床敲代码

round() 函数作用就是,返回浮点数x的四舍五入值。
但有一个问题:

>>round(1.275, 2)
1.27

原因:
round()函数只有一个参数,不指定位数的时候,返回一个整数,而且是最靠近的整数,类似于四舍五入,当指定取舍的小数点位数的时候,一般情况也是使用四舍五入的规则,但是碰到.5的情况时,如果要取舍的位数前的小数是奇数,则直接舍弃,如果是偶数则向上取舍。

使用:

def new_round(_float, _len):
    if isinstance(_float, float):
        if str(_float)[::-1].find('.') <= _len:
            return (_float)
        if str(_float)[-1] == '5':
            return (round(float(str(_float)[:-1] + '6'), _len))
        else:
            return (round(_float, _len))
    else:
        return (round(_float, _len))

print(new_round(1.275, 2))
>>>1.28
上一篇下一篇

猜你喜欢

热点阅读