圆形到最接近的500,Python

Mik*_*ike 15 python rounding

我正在寻找一种方法来舍入到最近的500.I一直在使用:

math.ceil(round(8334.00256 + 250, -3))
Run Code Online (Sandbox Code Playgroud)

因此,我在ArcGIS中制作的地图中的比例值.我有能力读取和写入比例因子(即1:8334 ....基本上,你设置千分之一,它默认为一个比例)如果比例因子不是500的因素,我想要向上舍入math.ceil将向上舍入任何十进制值,并且回合(n,-3)将舍入到最接近的千分之一,但我正在努力找到一种方法来舍入到最接近的500.

有什么建议?谢谢,迈克

Sve*_*ach 38

缩放,圆形,不缩放:

round(x / 500.0) * 500.0
Run Code Online (Sandbox Code Playgroud)

编辑:要向上舍入到500的下一个倍数,请使用相同的逻辑math.ceil()而不是round():

math.ceil(x / 500.0) * 500.0
Run Code Online (Sandbox Code Playgroud)

  • `x +(500 - x)%500` (3认同)

Ger*_*nuk 6

我个人觉得四舍五入但很乱.我宁愿用:

(x+250)//500*500
Run Code Online (Sandbox Code Playgroud)

// 表示整数除法.

编辑:哦,我错过了你"向上".然后也许吧

-(-x//500)*500
Run Code Online (Sandbox Code Playgroud)