我想将此542756舍入到此550000,或将此521405舍入到此500000.考虑到要舍入的数字是变量x.
我试过这个:
import mathdef roundup(x): return int(math.ceil(x / 50000.0)) * 50000
但它只是四舍五入,我需要向上或向下四舍五入.
我也试过这个:
round(float(x),-5)
但这轮到最近的十万.
我想有一个简单的解决方案但找不到任何东西.
解决方法 您可以使用:def round_nearest(x,num=50000): return int(round(float(x)/num)*num)
如果处理大数字,也可以避免转换为浮点数.在这种情况下,您可以使用:
def round_nearest_large(x,num=50000): return ((x+num//2)//num)*num
您可以使用两个参数调用它来舍入到最近的num,或者不会舍入到最接近的50000.如果您不希望结果是int(..)本身,可以省略int(..)(例如,如果你想要在0.5上舍入).在这种情况下,我们可以定义:
def round_nearest_float(x,num=50000): return round(float(x)/num)*num
这会产生:
>>> round_nearest(542756)550000>>> round_nearest(521405)500000
或者,如果您想要另一个数字舍入到:
>>> round_nearest(542756,1000)543000>>> round_nearest(542756,200000)600000总结
以上是内存溢出为你收集整理的在Python中将数字舍入到50,000全部内容,希望文章能够帮你解决在Python中将数字舍入到50,000所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)