如何使用步骤(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,...)
答案 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)