Solucionado (ver solución)
Solucionado
(ver solución)
3
respuestas

[Duda] Mi código no recibe los variables con decimal

Excelente tarde a todos, estaba realizando un pequeño programa para practicar, ya revise los demas foros y llegue a este resultado, cuando lanzo el codigo su me da los valores cuando son numeros enteros pero si escribo numeros con decimal no me da la respuesta correcta, espero me puedan ayudar a resolver esta duda, muchas gracias.

<script>
  function mostrarAlerta(mensaje){
    alert (mensaje);
  }

  function mostrar1 (mensaje) {
    document.write (mensaje)
    document.write ("<br><br>");
    document.write ("<hr>");
  }

  function calcularProm (calificacion1,calificacion2) {
    return (calificacion1 + calificacion2)/2;
  }

  mostrarAlerta("Este es un programa para mostrar su calificación ");

  var nombre = prompt ("Hola, Indique su nombre");
  var calificacionInformada1 = parseInt (prompt (nombre + "Indique su calificación"));
  var calificacionInformada2 = parseInt (prompt ("Ahora " + "indique su calificación"));
  var calificacionPromediada = calcularProm (calificacionInformada1,calificacionInformada2);

  mostrar1("Su promedio general de las calificaciones es " + calificacionPromediada);
  mostrar1("Gracias por usar nuestra aplicación :)");
</script>
3 respuestas

Hola Ramiro, probaste con coma y con punto a ver qué resultados obtenías?

solución!

Gracias por contestar, consulte en el Discord y me dieron una solución, la cual era cambiar la función por la que cambiaba el "string" a "numero", yo ponia parseInt () pero me dijeron que usara Number () y ahora si me acepta valores con puntos decimal. Les comparto el código por si a alguien le funciona.

<script>
  function mostrarAlerta(mensaje){
    alert (mensaje);
  }

  function mostrar1 (mensaje) {
    document.write (mensaje)
    document.write ("<br><br>");
    document.write ("<hr>");
  }

  function calcularProm (calificacion1,calificacion2) {
    return (calificacion1 + calificacion2)/2;
  }

  mostrarAlerta("Este es un programa para mostrar su calificación ");

  var nombre = prompt ("Hola, Indique su nombre");
  var calificacionInformada1 = Number (prompt (nombre + "Indique su calificación"));
  var calificacionInformada2 = Number (prompt ("Ahora " + "indique su calificación"));
  var calificacionPromediada = calcularProm (calificacionInformada1,calificacionInformada2);

  mostrar1("Su promedio general de las calificaciones es " + calificacionPromediada);
  mostrar1("Gracias por usar nuestra aplicación :)");
</script>

Hola, no te recibe decimales por qué usas la función parseInt. eso te convierte todo a enteros