Сопоставить один диапазон значений с другим в VBScript - PullRequest
4 голосов
/ 08 августа 2011

Мне нужно перевести значение в диапазоне 1-320 в его эквивалентное значение в пределах спреда в диапазоне 500-2500, и мне нужно сделать это в VBScript.

Есть ли функция, аналогичнаяmap (), который может сделать это для меня?Я не могу включать какие-либо внешние библиотеки в этом конкретном случае использования.

1 Ответ

7 голосов
/ 08 августа 2011

Вы имеете в виду, что вы хотите преобразовать любое число от 1 до 320 в соответствующее ему число от 500 до 2500, так что 1 соответствует 500, а 320 соответствует 2500?

Если это так, вы можете сделать это следующим образом: Пусть x будет вашим исходным номером (между 1 и 320) и y будет целевым числом (между 500 и 2500):

y = ((x-1)/319) * 2000 + 500

В общем, если у вас есть диапазон a1в a2 и хотите преобразовать его в диапазон b1 в b2, используя

y = ((x - a1)/(a2 - a1)) * (b2 - b1) + b1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...