我需要将1-320范围内的值转换为它在500-2500范围内的点差内的等效值,我需要在VBScript中进行。
是否有类似于map()的功能可以为我做这个?在这个特定的用例中,我不能包含任何外部库。
答案 0 :(得分:7)
你的意思是你想要将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