Я хотел бы знать, как я могу округлить число до нуля до верхнего или нижнего порога, который является функцией предопределенного размера шага.Надеюсь, более четко изложенное, если у меня число 123 и размер шага, равный 50, мне нужно округлить 123 до ближайшего из 150 или 100, в данном случае 100. Я вышел с функцией ниже, которая выполняет работуно мне интересно, есть ли лучший, более лаконичный способ сделать это.
Заранее спасибо,
Паоло
def getRoundedThresholdv1(a, MinClip):
import numpy as np
import math
digits = int(math.log10(MinClip))+1
b = np.round(a, -digits)
if b > a: # rounded-up
c = b - MinClip
UpLow = np.array((b,c))
else: # rounded-down
c = b + MinClip
UpLow = np.array((c,b))
AbsDelta = np.abs(a - UpLow)
return UpLow[AbsDelta.argmin()]
getRoundedThresholdv1(143, 50)