| ASP生成随机数: 复制代码 代码如下:Randomize '纯随机,不重复
 Response.write Int((999999999 * Rnd) + 111111111) '生成111111111到999999999之间随机数
 
 ASP不重复随机数:
 方法一: 已测
 
 使用的时候需要注意里面的分割字符串的字符。
 复制代码 代码如下:
 lt;%
 '生成的是一个不重复的数组
 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)
 %gt;
 
 
 方法二:
 复制代码 代码如下:lt;%
 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 ilt;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
 nbsp;if blnre=false then
 nbsp;arrayid(i)=temp
 nbsp;i=i+1
 nbsp;else
 nbsp;blnre=false
 nbsp;end if
 end if
 loop
 rndarray=join(arrayid)
 end function
 response.write rndarray(1,5,1) '开始数字,结尾数字,生成多少个
 %gt;
 
 (编辑:源码网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |