;

terça-feira, 28 de junho de 2011

Gerar número aleatório com javascript

 
Olá pessoal. Hoje trago uma dica rápida e bem simples, para desenvolvedores web. É uma função em Javascript para gerar um número aleatório, dado um intervalo de dois números. Veja com ficou a função:

function random(par1, par2)
{
    // cast para inteiro, pois os parâmetros de entrada são tipos genéricos
    par1 = parseInt(par1);
    par2 = parseInt(par2);

    alert(par1 + (Math.floor(Math.random() * (par2 + 1 - par1))));
    //Math.random() retorna uma número real aleatório entre 0 e 1
    //Math.floor retorna a parte inteira de um número real (na verdade o menor inteiro mais próximo)
}  

Uma vez que o valor retornado por Math.random() está entre 0 e 1, multiplicamos pelo valor  final do intervalo (pois será multiplicado no máximo por 1). Para que o método considere o valor inicial, basta adicionar o valor inicial ao valor gerado, sem esquecer de subtrair este valor do valor final (para não ultrapassar o valor final do intervalo). Também somei o valor final mais 1 para o intervalo de resultados possíveis incluir o valor final.
A chamada da função ficou assim:

<label>Inicial: </label><input type="text" id="ini" value="" class="w"/>
<br />
<label>Final: </label><input type="text" id="fim" value="" class="w"/>
<br />
<input type="button" value="Random" onclick="random(ini.value, fim.value);"/>
 
Abraços. Até a próxima.

0 comentários:

Postar um comentário