ASP生成随机数 ASP生成不重复随机数

ASP教程 2025-08-10

这篇文章主要介绍了ASP生成不重复随机数的方法,需要的朋友可以参考下

ASP生成随机数:

复制代码 代码如下:

Randomize '纯随机,不重复

Response.write Int((999999999 * Rnd) + 111111111) '生成111111111到999999999之间随机数

ASP不重复随机数:

方法一: 已测

使用的时候需要注意里面的分割字符串的字符。

复制代码 代码如下:

< %

'生成的是一个不重复的数组

Function GetRnd(lowerNum,upperNum)

Dim unit,RndNum,Fun_X

unit = upperNum - lowerNum

Redim MyArray(unit)

For Fun_I=0 To unit

myArray(Fun_I)= lowerNum + Fun_I

Next

For Fun_I=0 To round(unit)

RndNum = getRndNumber(Fun_I,unit)

Fun_X = myArray(RndNum)

myArray(RndNum)=myArray(Fun_I)

myArray(Fun_I)=Fun_X

Next

GetRnd = Join(myArray)

End Function

Function getRndNumber(lowerbound,upperbound)

Randomize

getRndNumber=Int((upperbound-lowerbound+1)*Rnd+lowerbound)

End Function

Response.Write GetRnd(1,1000)

% >

方法二:

复制代码 代码如下:

< %

function rndarray(istart,iend,sum)

dim arrayid(),i,j,blnre,temp,iloop,eloop

redim arrayid(sum-1)

i=0

iloop=0

eloop=0

blnre=false

randomize

do while i< sum

temp=int(rnd*(iend-istart+1)+istart)

if i=0 then

arrayid(0)=temp

i=i+1

iloop=iloop+1

else

for j=0 to i-1

if arrayid(j)=temp then

blnre=true

iloop=iloop+1

exit for'这一句很重要,防止多余的循环

else

iloop=iloop+1

end if

next

if blnre=false then

arrayid(i)=temp

i=i+1

else

blnre=false

end if

end if

loop

rndarray=join(arrayid)

end function

response.write rndarray(1,5,1) '开始数字,结尾数字,生成多少个

% >