Algorithm 在VBScript中将一个值范围映射到另一个值范围
我需要将1-320范围内的值转换为500-2500范围内排列内的等效值,并且需要使用VBScript进行转换Algorithm 在VBScript中将一个值范围映射到另一个值范围,algorithm,function,vbscript,map,Algorithm,Function,Vbscript,Map,我需要将1-320范围内的值转换为500-2500范围内排列内的等效值,并且需要使用VBScript进行转换 是否有一个类似于map()的函数可以为我实现这一点?我不能在这个特定的用例中包含任何外部库。您的意思是要将1和320之间的任何数字转换为500和2500之间的对应数字,以便1对应于500,320对应于2500 如果是这样,您可以按如下方式执行:将x作为原始编号(介于1和320之间),将y作为目标编号(介于500和2500之间): 通常,如果您有一个范围a1到a2,并希望使用将其转换为范围
是否有一个类似于map()的函数可以为我实现这一点?我不能在这个特定的用例中包含任何外部库。您的意思是要将1和320之间的任何数字转换为500和2500之间的对应数字,以便1对应于500,320对应于2500 如果是这样,您可以按如下方式执行:将
x
作为原始编号(介于1和320之间),将y
作为目标编号(介于500和2500之间):
通常,如果您有一个范围a1
到a2
,并希望使用将其转换为范围b1
到b2
y = ((x - a1)/(a2 - a1)) * (b2 - b1) + b1
你说的“等值”是什么意思??你只是在寻找@Phimueme答案中的线性函数吗?谢谢,我觉得问这个问题有点愚蠢,现在我看到了答案:)
y = ((x - a1)/(a2 - a1)) * (b2 - b1) + b1