Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
6
respuestas

[Duda] Uso del prompt

Como hacer que una variable sea numérica (int), al pedirla a través de un prompt ?

6 respuestas

creo que eso unicamente dependerá de los datos que ingrese el usuario, por ejemplo yo cambie el ejercicio de alcohol y gasolina para que el programa utilizara los datos ingresados por el usuario y automáticamente el sistema de JavaScript hacia que se pudiera realizar la operación matemática sin necesidad de declararlos como números int, es mas los colocaba dentro de una variable que el usuario completaba

aquí el ejemplo:

<meta charset="UTF-8">

<h3>¿Alcohol o gasolina?</h3>


<script>
    function imprimir(frase){
        document.write("<h1>"+frase+"<br><hr></h1>");
    }
    function eficienciaGas(gasolina,tanque){
        return gasolina/tanque
    }
    function eficienciaAlch(alcohol,tanque){
        return alcohol/tanque
    }
    var gasolina = prompt("Cuantos kilometros recorre su automovil cuando utiliza gasolina?");
    var alcohol = prompt("Cuantos kilometros recorre su automovil cuando utiliza alcohol?");
    var tanque = prompt("de cuantos litos es su tanque?");

    imprimir("El consumo del automovil en cuestion si tiene el tanque lleno de gasolina es igual a "+eficienciaGas(gasolina,tanque)+" kilometros por litro<br>");
    imprimir("El consumo del automovil en cuestion si tiene el tanque lleno de alcohol es igual a "+eficienciaAlch(alcohol,tanque)+" kilometros por litro<br>");

    //var gasolina = 480
    //var alcohol = 300
    //var tanque = 40

    //document.write("El consumo del automovil en cuestion si tiene el tanque lleno de gasolina es igual a " + gasolina/tanque + " Kilometors por litro <br>Y si el mismo automovil tuviera el tanque lleno de alcohol su consumo seria " + alcohol/tanque + " Kilometros por litro");    
</script>    

espero haberte ayudado

El tema es que si ingresas un valor alfanumerico, por ejemplo, donde le pides al usuario "Cuantos Kilómetros recorre su automóvil....." , si le ingresas por ejemplo: XXXX veras que el programa no te da una respuesta coherente.

lógico que no, xxxxx no es un numero, y tu necesitas un numero para poder realizar una operación matemática, si no tienes valores numéricos no puedes trabajar en una operación, si tus variables o números no se pueden multiplicar/dividir/sumar o restar jamas podrás transformarlos en un valor numérico.

hay formas de hacer que el usuario unicamente pueda colocar números y arroje un mensaje de error indicando "su valor no es un numero" pero eso es con una función que al momento no he visto en el curso (if, else) y no se si en JavaScript sea ese el nombre de la función.

Entendido gracias, creo que ya lo estoy viendo en el siguiente curso de como hacer la validación de un dato.

Cuando ingresas un valor a traves del promt este lee y entiende lo que escribiste como una serie de caracteres es decir que los entiende y los maneja como un dato tipo string, lo que puedes hacer es convertir lo que escribiste a un entero utilizando parseInt()

Ejemplo:

let appPromt = parseInt(promt("Introduce un numero"))

console.log(typeof appPromt, appPromt) //Imprime number, <numero>

//typeof sirve para conocer el tipo de dato, en este caso queremos conocer el tipo de dato de appPromt

Esa si es la respuesta que necesitaba. Muchas gracias