Gerar um número aleatório entre dois números em JavaScript
- Gerar um número aleatório entre 1 e um valor definido pelo utilizador em JavaScript
- Gerar um número aleatório entre dois números em JavaScript
Este tutorial aprenderá como gerar um número aleatório entre dois números em JavaScript. Vamos utilizar o método Math.random()
que gera um número flutuante aleatório entre 0.0
e 0.999
.
Gerar um número aleatório entre 1 e um valor definido pelo utilizador em JavaScript
Podemos gerar um número aleatório em JavaScript utilizando um gerador de números aleatórios - Math.random()
, multiplicando o número de flutuação gerado com o número máximo que queremos gerar. Math.random()* max
gera um número aleatório entre 0 e max
.
function generateRandom(max) {
return Math.random() * max;
}
console.log('1st try: ' + generateRandom(5));
console.log('2nd try: ' + generateRandom(5));
console.log('3rd try: ' + generateRandom(5));
console.log('4th try: ' + generateRandom(5));
Resultado:
1st try: 3.3202340813091347
2nd try: 1.9796467067025836
3rd try: 3.297605748406279
4th try: 1.1006700756032417
Se queremos obter apenas o resultado em formato inteiro, podemos utilizar Math.floor()
, este método devolve o maior número inteiro inferior ou igual ao número de entrada.
console.log(Math.floor(1.02));
console.log(Math.floor(1.5));
console.log(Math.floor(1.9));
console.log(Math.floor(1));
Resultado:
1
1
1
1
Utilizando o método Math.floor()
, podemos obter os nossos números inteiros gerados aleatoriamente,
function generateRandomInt(max) {
return Math.floor(Math.random() * max);
}
console.log('1st Integer try: ' + generateRandomInt(9));
console.log('2nd Integer try: ' + generateRandomInt(9));
console.log('3rd Integer try: ' + generateRandomInt(9));
console.log('4th Integer try: ' + generateRandomInt(9));
Resultado:
1st Integer try: 8
2nd Integer try: 5
3rd Integer try: 7
4th Integer try: 0
Gerar um número aleatório entre dois números em JavaScript
Se também queremos ter um valor mínimo definido pelo utilizador, precisamos de alterar a equação de Math.random() * max
para Math.random() * (max-min)) +min
. Utilizando esta equação, o valor retornado é um número aleatório entre min
e max
.
function generateRandomInt(min, max) {
return Math.floor((Math.random() * (max - min)) + min);
}
console.log('1st min and max try: ' + generateRandomInt(2, 9));
console.log('2nd min and max try: ' + generateRandomInt(2, 9));
console.log('3rd min and max try: ' + generateRandomInt(2, 9));
console.log('4th min and max try: ' + generateRandomInt(2, 9));
Resultado:
1st min and max try: 6
2nd min and max try: 2
3rd min and max try: 8
4th min and max try: 3
Caso estejamos interessados em ter o valor max
a ser incluído no nosso âmbito do gerador aleatório, precisamos de alterar a equação para (Math.random() * (max+1 - min)) +min
. A adição de 1 a max-min
incluirá o máximo no intervalo e Math.floor()
garantirá sempre que este valor não seja superior ao max
.
function generateRandomInt(min, max) {
return Math.floor((Math.random() * (max + 1 - min)) + min);
}
console.log('1st min and max included try: ' + generateRandomInt(2, 9));
console.log('2nd min and max included try: ' + generateRandomInt(2, 9));
console.log('3rd min and max included try: ' + generateRandomInt(2, 9));
console.log('4th min and max included try: ' + generateRandomInt(2, 9));
Resultado:
1st min and max included try: 3
2nd min and max included try: 7
3rd min and max included try: 9
4th min and max included try: 6
Artigo relacionado - JavaScript Number
- Converter um número em formato binário em JavaScript
- Formatar um número em JavaScript
- Arredondar um número para 2 casas decimais em JavaScript
- JavaScript formatar um número como uma string de moeda
- Gerar número aleatório em um intervalo especificado em JavaScript
- JavaScript Adicionar vírgulas ao número