给出一个输入数字x,找到四舍五入的数字(python) 使用以下方法。
math.floor(x * (10 ** y)) / (10.0 ** y)
math.ceil(x * (10 ** y)) / (10.0 ** y)
答案 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
。