Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
3
respuestas

Duda con prompt y la función.

Hola a todos, me surgió una duda con respecto a esta clase de interactuar con el usuario. Código escrito por el tutor

La funcion:

calcularImc(peso,altura) {
return(peso / (altura*altura));
}

Al utilizar el prompt para pedir datos al usuario y luego almacenar los datos en las variables pesoInformado y alturaInformada no se guardarían como una cadena? Por lo que se ve como que se corrige solo o eso creo y no se si puede dar problemas a futuro. Sé que existe una función llamada parseInt() para poder convertirla en numero entero . ¿Es correcto dejarlo así?

Muchas gracias a todos por su atención!

3 respuestas

Hola, en clases siguientes a esta de ICM, Christian enseña la función parseInt(). Y creó que al usar * y / no se forma concatenación. Cosa que si ocurre al usar "texto" + número. (Esto último Christian lo ejemplifica en Programación 2). Saludos

solución!

Mabel tiene toda la razón, cuando estamos realizando operaciones como multiplicar y dividir, JavaScript lo que hace es tratar de ayudar al usuario y entender que el usuario va realizar una operación matemática, y de esa manera convierte esos Strings en números, pero si en cambio, hacemos la operación de sumar, el por default lo que hace es concatenar y no sumar, por eso es buena practica que cuando pidas información al usuario y sabe que es un numero lo que va escribir y necesitas hacer operaciones con el, es recomendable hacerle parseInt o parseFloat según el numero que vaya a recibir.

Saludos!

Hola Laureano, lo más recomendable es que si vas a pedir un valor númerico al usuario esta entrada sea convertida a número. Sabemos que JavaScript convertira automaticamente la cadena a número si utlizas operaciones como restar ( - ) , mulitplicar ( * ) , dividir ( / ) entre otras. Pero, si más adelante deseas sumar ( + ) la alturaInformada o el pesoInformado con otro valor númerico no podrás hacerlo porque se concatenará. Así que lo mejor es convertirlo de una vez a número ya sea con el método parseInt o parseFloat. Un saludo