Autor Tema: Javascript ==> El signo "+" suma o concatena resultado extraño con operador suma  (Leído 2841 veces)

GustavoIP

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
Buenas tardes estoy aprendiendo Javascript con el manual de "aprenderaprogramar.com" y estoy realizando un ejercicio que captura dos números con la función "prompt" y muestra con tres "alert" respuestas distintas.
Para el ejemplo ingremos los números 10 y 20.

El primer "alert" muestra el resto o residuo de dividir el primer número entre 5.
Como el primer número es 10, el "alert" me muestra 0 como resultado de "10%5"

El segundo "alert" muestra la división de ambos números.
Se muestra 0.5 como resultado de la división de 10 / 20.

El tercer "alert" muestra la suma de ambos números.

Pero en este caso se muestra 1020, está concatenando los valores de las variables en vez de sumarlas.

Me parece que la operación "suma" es la excepción de las operaciones y concatena las variables "String", no hay otra explicación creo yo....

Adjunto código
Código: [Seleccionar]
// funcion mostrar ensaje 1
    function mostrarMensaje1() {
         var num1 = prompt("Ingrese el primer número: "),
             num2 = prompt("Ingrese el segundo número: ");
         alert(num1 % 5);
         alert(num1 / num2);
         alert(num1 + num2);
    }
// fin funcion mostrar mensaje 1

« Última modificación: 12 de Enero 2022, 20:36 por Ogramar »

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 989
    • Ver Perfil
Re: Javascript ==> El signo "+" suma o concatena
« Respuesta #1 en: 14 de Mayo 2021, 23:08 »
Sí.
Puedes parsear a entero para que el operador de suma trate los valores como números y no como cadenas String

Código: [Seleccionar]
alert(parseInt(num1) + parseInt(num2));
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

GustavoIP

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
Re: Javascript ==> El signo "+" suma o concatena
« Respuesta #2 en: 14 de Mayo 2021, 23:52 »
A ok, voy a intentar con "parseInt", muchas gracias por el dato.

GustavoIP

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
Re: Javascript ==> El signo "+" suma o concatena
« Respuesta #3 en: 15 de Mayo 2021, 08:40 »
Sí.
Puedes parsear a entero para que el operador de suma trate los valores como números y no como cadenas String

Código: [Seleccionar]
alert(parseInt(num1) + parseInt(num2));

A ok, voy a intentar con "parseInt", pero por ahí veo que con "Number()" tambien se puede, igual muchas gracias por el dato, voy a probar los dos.

Código: [Seleccionar]
alert(Number(num1)+Number(num2));

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 989
    • Ver Perfil
Re: Javascript ==> El signo "+" suma o concatena
« Respuesta #4 en: 15 de Mayo 2021, 12:13 »
Number() también sirve igual en este caso.
Aunque en otros casos más especiales, parseInt() y Number() tendrán comportamientos diferentes.

En este artículo (en inglés) lo explican muy bien, con ejemplos muy claros.
Guárdalo porque puede servirte para futuras referencias.
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

GustavoIP

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 4
    • Ver Perfil
Re: Javascript ==> El signo "+" suma o concatena
« Respuesta #5 en: 17 de Mayo 2021, 18:40 »
Number() también sirve igual en este caso.
Aunque en otros casos más especiales, parseInt() y Number() tendrán comportamientos diferentes.

En este artículo (en inglés) lo explican muy bien, con ejemplos muy claros.
Guárdalo porque puede servirte para futuras referencias.

Exacto, debe haber alguna diferencia entre ellos, como por ejemplo, en que ocasión se puede usar uno u otro.
Gracias por tu aporte (link), muy interesante.

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".