Vbscript随机步骤

时间:2015-11-08 08:30:10

标签: random vbscript

如何使用步骤(5)获取范围(0,123)中的随机数

得到范围内的随机数(0,123)我

Dim max,min
max=123
min=0
Randomize
response.write(Int((max-min+1)*Rnd+min))

但我只需要加速5(0,5,10,15,20,...)

2 个答案:

答案 0 :(得分:1)

Function StepRandom( ByVal minValue, ByVal maxValue, ByVal Steps )
    maxValue = maxValue - maxValue Mod Steps
    Randomize
    StepRandom = maxValue-Fix((maxValue - minValue + 1)*Rnd/Steps)*Steps
End Function 

Response.Write CStr(StepRandom(0,120,5))

基本操作是将最大值调整到正确的步进点,并从此最大值向下计算指示范围内的步进点

答案 1 :(得分:1)

首先,我会得到真正的最小值和最大值:

If min Mod 5 > 0 Then
  min = min + (5 - (min Mod 5))
End If
max = max - (max Mod 5)

然后,得到一个介于0和(max-min)/ 5之间的随机数,乘以5,然后加上min。

Dim number
number = Int(((((max - min) / 5) + 1) * Rnd) * 5 + min)