Objective-C: название метода, который корректирует значение с плавающей запятой до 0-1
Я создал следующий метод, чтобы безопасно использовать скорость.
(Иногда скорость может стать недопустимым значением, например, INFINITY, NAN или из 0-1)
-(double)XXXX:(double)rate
if (rate >= 1) {
return 1;
} else if (rate <= 0) {
return 0;
} else if (0 <= rate && rate <= 1) {
return rate;
} else {
return 0;
}
}
Как мне назвать этот метод?
РЕДАКТИРОВАТЬ:
Я использую скорость для отображения прогресса времени с UISlider, UIProgress или просто NString(XX %).
Использование метода:
rate = [objectOrClass XXXX: currentTime / totalTime];
rate = [objectOrClass XXXX:(currentTime + additionalTime) / totalTime];
Я также использую его для вычисления currentTime из ставки:
currentTime = [objectOrClass XXXX:rate] * totalTime;
3 ответа
Решение
static inline float RateAligned(float rate) {
return MAX(.0f, MIN(1.0f, rate));
}
When totalTime is zero you will get INFINITY.
When totalTime and currentTime both are zeros you will get NAN.
When (currentTime + additionalTime) and currentTime both are zeros you will get NAN.
Я думаю, что это будет полезно для вас.