Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Gerando números aleatórios

Oi gente! Estou fazendo o curso de Lógica de Programação e na parte do joguinho de adivinhação, o professor usa o código abaixo para a geração de números aleatórios até 10:

Math.round(Math.random() * 10);

Antes de ele falar desse formato, eu tinha pensado e testado no Console uma forma diferente, que é o código abaixo:

parseInt(Math.random() * 10);

Fiz várias tentativas no console e eles me geraram os números. Alguém sabe me dizer se tem diferença usar uma forma ou outra?? Ou se esses códigos tem algum significado diferente que eu não estou conseguindo enxergar??

Obrigada!!

Lys Marie.

2 respostas
solução!

Olá Lys,

A diferença está como cada um deles trabalha, o Math.round() arredonda o número para o outro mais próximo, por exemplo:

Math.round(50.49)

O resultado será 50, porém se você testar

Math.round(50.50)

O resultado será 51, agora fazendo o mesmo teste com o parseInt, o valor será "truncado", por exemplo:

parseInt(50.49)

O resultado será 50, mas se testar:

parseInt(50.50)

você irá obter o mesmo 50, e o resultado irá repetir para

parseInt(50.9999)

A diferença é essa.

Espero ter ajudado

Obrigada Joel!

Esclareceu a dúvida sim!!

Um Abraço!