向上舍入到下一个奇数整数
Round a float UP to next odd integer
如何将浮点数 up 舍入为 next 奇数?我发现如何对偶数 here 进行处理。所以我尝试了类似的东西:
import numpy as np
def round_up_to_odd(f):
return np.ceil(f / 2.) * 2 + 1
但是当然这不会四舍五入到下一个奇数:
>>> odd(32.6)
35.0
有什么建议吗?
怎么样:
def round_up_to_odd(f):
f = int(np.ceil(f))
return f + 1 if f % 2 == 0 else f
思路是先四舍五入为整数,然后检查整数是奇数还是偶数。
分割前需要ceil
:
import numpy as np
def round_up_to_odd(f):
return np.ceil(f) // 2 * 2 + 1
如何将浮点数 up 舍入为 next 奇数?我发现如何对偶数 here 进行处理。所以我尝试了类似的东西:
import numpy as np
def round_up_to_odd(f):
return np.ceil(f / 2.) * 2 + 1
但是当然这不会四舍五入到下一个奇数:
>>> odd(32.6)
35.0
有什么建议吗?
怎么样:
def round_up_to_odd(f):
f = int(np.ceil(f))
return f + 1 if f % 2 == 0 else f
思路是先四舍五入为整数,然后检查整数是奇数还是偶数。
分割前需要ceil
:
import numpy as np
def round_up_to_odd(f):
return np.ceil(f) // 2 * 2 + 1