在Python中,有一个内置函数round(),它会像这样舍入数字:
round(1900, -3) == 2000
有没有内置的函数可以将数字向下取整,就像这样:
function(1900, -3) == 1000
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
四舍五入到下一个千位整数
也许在此之后您可以进行 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
math.floor()
? - dhke