在Python中四舍五入并四舍五入

时间:2020-04-03 09:27:16

标签: python

给出一个输入数字x,找到四舍五入的数字(python) 使用以下方法。

math.floor(x * (10 ** y)) / (10.0 ** y)
math.ceil(x * (10 ** y)) / (10.0 ** y)

1 个答案:

答案 0 :(得分:1)

我想这取决于您如何定义“上”和“下”,是将负数四舍五入为“更正”数,还是取较大绝对值的数。如果您的定义与the usual不同,则在舍入前后将负数乘以-1,即将其绝对值四舍五入,然后再次使它们为负。

def round_up(x, y=0):
    if x < 0:
        return -round_up(-x, y)
    return math.ceil(x * (10 ** y)) / (10 ** y)

留给round_down做同样的事情作为读者的练习。还要注意,y=0实际上会四舍五入到最接近的整数;如果要使用-0.1,请改用y=1