欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-08-10 17:32:34
asp生成随机数: 复制代码 代码如下:randomize '纯随机,不重复 response.write int((999999999 * rnd) + 1111111...

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) '开始数字,结尾数字,生成多少个
%>