如何围绕这样的整数?我查看了round()
函数,但它没有我想要的东西。
5 > 0
9 > 0
11 > 20
14 > 20
19 > 20
20 > 40
29 > 40
答案 0 :(得分:5)
这样的事情:
round(15.0 / 20.0) * 20
或者:
round(15.3 / 0.05) * 0.05
答案 1 :(得分:4)
如果x
是您正在舍入的整数,这将根据原始问题的要求中途提供正确的舍入:
round(int((x + 9) / 20) * 20)
假设你将整数四舍五入到最接近的20:
答案 2 :(得分:3)
定义一个lambda:
>>> nearest_20 = lambda x: (1 + (x-1)/20)*20 if x % 20 >= 10 else (x/20)*20
>>> nearest_20(5)
0
>>> nearest_20(0)
0
>>> nearest_20(20)
20
>>> nearest_20(11)
20