python 将数字四舍五入到特定值

python round numbers to specific value

我想写一个具体的舍入逻辑。

number = x

if x < 950:
    # round number to and in steps of 50
elif x < 9000:
    # round number to and in steps of 100
elif x < 100000:
    # round number to and in steps of 250
else:
    # round number to and in steps of 1000

这是我的想法。

我需要什么,例如,如果 x = 123 那么它应该四舍五入到 100。 如果 x = 170 它应该四舍五入到 200,然后例如对于 x = 8568 它应该四舍五入到 8600

很可能不是最干净的方法,但是: (x + step/2)//step*step 应该可以。

示例: print((880+25)//50*50) returns 900.