Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: ARANTZA en 29 de Noviembre 2014, 21:19

Título: ejercicio CU01116 JavaScript no suma números con prompt, sólo concatena...
Publicado por: ARANTZA en 29 de Noviembre 2014, 21:19
Hola a todos. Estoy con el curso de Javascript desde cero y es un ejercicio en principio muy simple, me hace bien todas las operaciones y al llegar a la suma, en vez de sumar concatena los números.
Por mucho que lo miro no lo pillo.   :-\
Gracias por vuestra ayuda!
un saludo
Arantza
Título: Re:ejercicio CU01116 no suma, sólo concatena...
Publicado por: ARANTZA en 29 de Noviembre 2014, 21:54
Ja!
En el siguiente capítulo viene el truco:

numeroA=Number(numeroA);
numeroB=Number(numeroB);

Pero es necesario esto siempre? En otros ejercicios he obtenido la suma sin este truco, sigo sin saber qué he hecho mal en el ejercicio...
 :( :(
Título: Re:ejercicio CU01116 no suma, sólo concatena...
Publicado por: stevito en 30 de Noviembre 2014, 04:33
creo que tienes que poner doble + para sumar
exa
int++int
=int

Título: Re:ejercicio CU01116 no suma, sólo concatena...
Publicado por: ARANTZA en 30 de Noviembre 2014, 11:00
si pongo doble ++ no se ejecuta el script  :-\
Título: Re:ejercicio CU01116 no suma, sólo concatena...
Publicado por: Mario R. Rancel en 30 de Noviembre 2014, 20:43
Hola Arantza, ¿no te parece que deberías responder a este post: https://www.aprenderaprogramar.com/foros/index.php?topic=1647.0? Al menos para saber si te sirvió...
Título: Re:ejercicio CU01116 no suma, sólo concatena...
Publicado por: Mario R. Rancel en 30 de Noviembre 2014, 20:47
Sobre el problema en el código:

Código: [Seleccionar]
<html> <head> <title>Curso JavaScript aprenderaprogramar.com</title> <meta charset="utf-8">
<script type="text/javascript">
function mostrarMensaje1(){
numeroA = prompt("introduzca un múmero");
numeroB = prompt("introduzca otro número por favor");
alert("el resto de la división es "+ (numeroA%numeroB));
alert("el resultado de la división es " + (numeroA/numeroB));
alert("el resultado de la suma es " + (numeroA+numeroB));
}
</script>
</head>
<body>
<div>
<p>Aquí un párrafo de texto situado antes de la imagen, dentro de un div contenedor</p>
<img onclick="mostrarMensaje1()" src="http://i.imgur.com/afC0L.jpg" alt="Notepad++" title="Notepad++, un útil editor de texto">
<p onclick ="alert('Alerta JavaScript')" style="background-color:yellow;">Aquí otro párrafo de texto. JavaScript es un lenguaje utilizado para dotar de efectos dinámicos a las páginas web.
</p>
</div>
</body>
</html>

Se debe a que numeroA = prompt("introduzca un múmero"); obtiene un tipo String para lo que el usuario introduzca por consola. Por eso el intérprete JavaScript piensa que con el operador + estás tratando de concatenar Strings. Para decirle que en vez de concatenar Strings haga la suma de números, tienes que transformar los String a números usando Number.

Saludos
Título: Re:ejercicio CU01116 JavaScript no suma números con prompt, sólo concatena...
Publicado por: ARANTZA en 01 de Diciembre 2014, 12:43
Gracias, todo está claro. Y tienes toda la razón, debería haber contestado en el post anterior y no lo he hecho, lo arreglo enseguida.
Y muchas gracias por la ayuda que nos prestáis a los novatos en este foro. Estoy aprendiendo muchísimo gracias a vosotros.