我有一个字符串的长度。如果这个字符串是说49岁,我想要找到下一个16的倍数应该是64。我已经研究并发现了round函数,然而,这将其降低到48而不是64。
:从字符串长度返回的数字应该四舍五入到16的下一个倍数,而不是最接近的。
如果有人有任何建议,请告诉我。
多谢
n = number for checking
a = multiple to find
nearest_multiple = n + (a - n % a)
print(nearest_multiple)
你可以先除以你想要乘以的数字,取整数,然后再相乘:
import math
a = 59
N = 16
a_nex= math.ceil(a/N)*N
math.ceil()
函数可能会解决您的问题。我不确定这对你是否有用。
如果我正确理解了你的问题,我认为应该这样做:
length_string = 49
answer = (length_string // 16 + 1) * 16
如果length_string并非例如48 64(16的倍数)这也回答。如果你不需要,你可以用modulo:
检查length_string = 48
if length_string % 16 == 0:
answer = length_string
else:
answer = (length_string // 16 + 1) * 16
我希望这个答案能解决你的问题:
# String Length
n = 49
def nextMultiple(n,multiple):
# Next Multiple of 16
next_multiple = (multiple - (n % multiple)) + n
print(next_multiple)
nextMultiple(n,16)