5
respuestas

parseInt

Hola estoy un poco perdido, no entiendo para que se usa el parseInt en este programa, alguien me podría explicar? No encontré cambios al sacarlo.

<meta charset="UTF-8">

<input/>
<button>Verificar si acertó con el secreto</button>

<script>
    var secreto = Math.round(Math.random()*10);
    var input = document.querySelector("input");
    input.focus();

    function verificar() {

        if (parseInt(input.value) == secreto) {

            alert("Usted acertó");

        }
        else {

            alert("Usted erró");

        }

        input.value = "";
        input.focus();

    }

    var button = document.querySelector("button");
    button.onclick = verificar;




</script>
5 respuestas

Buenas noches Alejandro, como estas?

La etiqueta input por defecto es del tipo texto ósea que si vos tenes "" es igual a colocar "", por lo tanto el tipo de dato de ese input es un String (cadena), entonces si ingresas un número, debes convertirlo al tipo de dato Number (entero = integer) y para eso existe esta función parseInt(parametroCadena).

Espero que te sirva mi explicación.

Saludos.

Hola Alejandro, sí, entiendo esa parte, lo que me confunde es porque el programa funciona igual si se suprime esa función.

Buenas tardes Alejandro, como estas?

Porque el operador "==" lo que hace es comparar que los dos valores sean iguales, sin tomar en cuenta el tipo de dato, pero es incorrecto utilizar el código de esta manera ya que si al dato ingresado por el usuario lo queres utilizar para algún tipo de operación matemática, eso te daría un error. Ahora, existe otro operador, que el "===", este lo que verifica en que sea estrictamente igual, ósea no solo el valor sino también el tipo de dato.

Espero que sea de utilidad mi respuesta.

Saludos.

Buena explicacion !!!! aqui agrego un ejemplo Saludos

var num = 0;
var str = "0";

console.log(num == str); // true
console.log(num === str); // false

Ahora síiii entendí como es el tema, muchas gracias Alejandro y Rafael!!!!!!!!!!