Este artigo apresenta principalmente o método de geração de números aleatórios não repetidos em ASP. Amigos que precisarem podem consultá-lo.
ASP gera números aleatórios:
Copie o código do código da seguinte forma:
Randomize 'Puramente aleatório, sem repetições
Response.write Int((999999999 * Rnd) + 111111111) 'Gera um número aleatório entre 111111111 e 999999999
ASP não repete números aleatórios:
Método 1: testado
Ao usá-lo, você precisa prestar atenção aos caracteres internos que dividem a string.
Copie o código do código da seguinte forma:
<%
'O array gerado é um array não repetitivo
Função GetRnd(Num inferior,Num superior)
Unidade de escurecimento,RndNum,Fun_X
unidade = Num superior - Num inferior
Redimentar MyArray (unidade)
For Fun_I=0 Para a unidade
myArray(Fun_I)= lowerNum + Fun_I
Próximo
For Fun_I=0 Para arredondar (unidade)
RndNum = getRndNumber(Fun_I,unidade)
Fun_X = meuArray(RndNum)
meuArray(RndNum)=meuArray(Fun_I)
minhaArray(Fun_I)=Fun_X
Próximo
GetRnd = Join(meuArray)
Função final
Função getRndNumber(limite inferior, limite superior)
Randomizar
getRndNumber=Int((limite superior-inferior+1)*Rnd+limite inferior)
Função final
Resposta.Write GetRnd(1.1000)
%>
Método dois:
Copie o código do código da seguinte forma:
<%
função rndarray(istart,iend,soma)
dim arrayid(),i,j,blnre,temp,iloop,eloop
redim arrayid(soma-1)
eu=0
loop = 0
eloop = 0
blnre=falso
randomizar
faça enquanto eu<soma
temp=int(rnd*(iend-istart+1)+istart)
se eu=0 então
arrayid(0)=temperatura
eu=eu+1
iloop=iloop+1
outro
para j = 0 a i-1
se arrayid(j)=temp então
blnre = verdadeiro
iloop=iloop+1
A frase “exit for” é muito importante para evitar loops redundantes.
outro
iloop=iloop+1
terminar se
próximo
se blnre=falso então
arrayid(i)=temp
eu=eu+1
outro
blnre=falso
terminar se
terminar se
laço
rndarray=join(arrayid)
função final
response.write rndarray(1,5,1) 'Número inicial, número final, quantos são gerados
%>