Python:我怎样才能将一个数字向下舍入到下一个 1000



在python中,有一个内置函数round((,
它像这样舍入一个数字:

round(1900, -3) == 2000

有没有一个内置函数可以向下舍入一个数字,如下所示:

function(1900, -3) == 1000

您可以使用楼层划分:

def round_down(x, k=3):
n = 10**k
return x // n * n
res = round_down(1900)  # 1000

math.floor也可以工作,但性能下降,请参阅 Python 整数除法运算符与 math.floor。

也许你可以这样尝试

import math
math.floor(1900 / 100) * 100
math.floor([field])

向下舍入到下一个整数

math.ceil([field]/1000)*1000四舍五入到下一个 1000

也许在那之后你可以做一个 int 演员表。

如果你喜欢指数参数的语法,你可以定义你自己的函数:

import math
def floorTo10ths(number, exp):
return int(math.floor(number/10**exp) * 10**exp) 
floorTo10ths(1900, 3)
def arroundSup(number, power) :
nbr = number / (1000*power)
return ceil(nbr) * (1000*power)

arroundSup(1900, 3) # will return 2000

---------------------------------------------------

def arroundLow(number, power) :
nbr = number / (1000*power)
return floor(nbr) * (1000*power)

arroundLow(1900, 3) # will return 1000

最新更新