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
网友评论