Отрицательные числа смущают меня в такого рода вещах, но для этого нужны электронные таблицы и метод проб и ошибок.
Если я правильно прочитал вопрос, вы знаете, что -48 - это 50%, и вы хотитечтобы узнать проценты для других входных данных (например, -12, -60 и т. д.)
- Удалите смещение, чтобы наш диапазон был 0 .. max
- Разделите это значение на максимальноеполучите процент
- Возьмите абсолютное значение
, если v является вашим входным значением (-48), тогда p = Math.abs((v+16)/64)
, где "+16" просто вычитает вашу нижнюю границу (-16), а «64» - это абсолютное значение верхней границы минус нижняя граница.
Другими словами,
var lower:int = -16;
var upper:int = -80;
var v:int = -32;
var p:Number = Math.abs((v - lower) / (Math.abs(upper - lower));
Я не проверял это - здесь нет компилятора.