Hola, chicos
Una consulta, ¿saben para qué sirve Math.floor y parseInt?
Veo que está siendo usado en las respuestas del ejercicio "Solo 5 intentos"
Hola, chicos
Una consulta, ¿saben para qué sirve Math.floor y parseInt?
Veo que está siendo usado en las respuestas del ejercicio "Solo 5 intentos"
Hola,
let numeroSecreto = Math.floor(Math.random() * 10);
let intentos = 0;
while (intentos < 5) {
let intento = parseInt(prompt("Ingrese un número del 0 al 9:"));
intentos++;
if (intento == numeroSecreto) {
alert(`¡Eso es! Descubriste el número secreto ${numeroSecreto}`);
break;
}
}
El 'Math.random' es un método de Math que genera números aleatorios (0.0 a <1.0), por ejemplo:
let numeroSecreto = Math.random();
console.log(numeroSecreto);
Te saldría en la consola:
Al multiplicar por 10 lo escala a un rango de 0 al 9.999...
let numeroSecreto = Math.random() *10;
console.log(numeroSecreto);
En la consola:
El 'Math.floor' es otro método de Math que redondea hacia abajo (entero inferior más cercano)
Por ejemplo, si se genero el número '5.685...' con el método sería el número entero 5 :
let numeroSecreto = Math.floor(Math.random() * 10);
En la consola saldría un numero entero entre 0 y 9:
Con respecto al parseInt(), lo que hace en el código es convertir el string en número entero.
let intento = parseInt(prompt("Ingrese un número del 0 al 9:"));
console.log(typeof intento);
Es necesario colocar el parseInt() porque el 'prompt()' siempre devuelve un string, aunque el usuario escriba un número 3 sería "3", si no colocaramos el parseInt() la variable 'intento' sería un string.
let intento = prompt("Ingrese un número del 0 al 9:");
console.log(typeof intento);
Por esta razón es importante el parseInt().
Math.floor() redondea hacia abajo (hacia el entero más pequeño posible). Por ejemplo:
Math.floor(3.8) // 3
Math.floor(3.2) // 3
Math.floor(3.5) // 3
Math.floor(-5.1) // -6
Posdata con números negativos, “hacia abajo” significa más negativo.
y parseInt se usa para cambiar el tipo de dato a numero entero. Por ejemplo:
parseInt("42"); // 42
parseInt("42.9"); // 42 (descarta la parte decimal)
parseInt(" 42abc"); // 42 (ignora espacios y corta al encontrar letra)
parseInt("abc42"); // NaN (no empieza con número)
Muchas gracias Milton y Joe :D
Quería marcar como solución a ambas respuestas, pero al parecer solo permite marcar uno :c
En verdad muchas gracias por su explicación, chicos ✨