在VBScript中将一个值范围映射到另一个值

Sim*_*een 4 algorithm vbscript function map

我需要将1-320范围内的值转换为500-2500范围内的扩展中的等效值,我需要在VBScript中进行.

是否有类似于map()的函数可以为我做这个?我不能在这个特定的用例中包含任何外部库.

phi*_*mue 7

你的意思是你想要将1到320之间的任何数字转换为500到2500之间的相应数字,使得1对应于500而320对应于2500?

如果是这样,您可以按如下方式进行:让x您的原始数字(介于1和320之间)并y成为目标数字(介于500和2500之间):

y = ((x-1)/319) * 2000 + 500
Run Code Online (Sandbox Code Playgroud)

一般情况下,如果您有一个范围a1,a2并希望将其转换b1b2使用范围

y = ((x - a1)/(a2 - a1)) * (b2 - b1) + b1
Run Code Online (Sandbox Code Playgroud)