1
resposta

Math.random

nessa aula, ela explica a função "return Math.floor(Math.random() * (max - min + 1)) + min;" que faz a mesma funcionamento do "return parseInt(Math.random() * (max - min) + min )" testei no meu e deu certo, poderia usar esse segundo codigo?

1 resposta

Olá Yago!

Sim, você pode usar o segundo código que você mencionou: return parseInt(Math.random() * (max - min) + min). Ambos os códigos têm o objetivo de gerar um número aleatório entre dois valores, min e max. No entanto, há uma diferença sutil entre eles:

  1. Math.floor(Math.random() * (max - min + 1)) + min: Esse código garante que o número gerado seja um número inteiro entre min e max, inclusive. Isso é feito ao adicionar 1 ao intervalo (max - min) e, em seguida, aplicando Math.floor() para arredondar o resultado para baixo.

  2. parseInt(Math.random() * (max - min) + min): Este código também tenta gerar um número inteiro, mas não garante que o número máximo (max) seja incluído, pois ele não adiciona 1 ao intervalo. Além disso, parseInt() pode não ser a melhor escolha para arredondar números, já que ele simplesmente converte a parte inteira do número, o que pode levar a resultados inesperados em alguns casos.

Se você deseja garantir que o número máximo seja incluído no intervalo e que o resultado seja sempre um número inteiro, a primeira opção (Math.floor()) é geralmente mais confiável. No entanto, se o seu teste funcionou bem para o seu caso de uso específico, você pode continuar usando o segundo código. Apenas fique atento a esses detalhes, especialmente se o comportamento do sorteio precisar ser preciso.

Espero ter ajudado e bons estudos!