JavaScript - 2 no es menor que 15 ??

 
Vista:

2 no es menor que 15 ??

Publicado por Papupa (3 intervenciones) el 01/08/2019 00:41:35
Saludos Foro...
Llevo un par de semanas comenzando a aprender JavaScript, ando realizando un ejercicio, el cuál debe imprimir los números que hay entre num1 y num2 asignados por el usuario.
El programa "funciona" por NO cuando num1 es menor que el primer dígito del num2, por ejemplo si escribo 2 y 15


1
2
3
4
5
6
7
var num1 = prompt("Ingresa el primer número");
var num2 = prompt("Ingresa el segundo número");
 
 
for (var i = num1; i <= num2; i++){
console.log(i);
}

Esto me vuela la cabeza, quisiera entender cuál es el error en mi código, o porque este funciona así.

De antemano, gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 81
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

2 no es menor que 15 ??

Publicado por Cesar (27 intervenciones) el 01/08/2019 00:52:56
Hola.

Eso es porque, por default, la funcion Prompt regresa un string (no un numero).

Convierte dicha cadena a numero (puedes usar la funcion "eval"), y te funcionara correctamente.

Adjunto tu codigo modificado:

1
2
3
4
5
6
var num1 = prompt("Ingresa el primer número");
var num2 = prompt("Ingresa el segundo número");
for (var i = eval(num1); i <= eval(num2); i++)
{
   console.log(i);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 183
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

2 no es menor que 15 ??

Publicado por Yamil Bracho (78 intervenciones) el 01/08/2019 01:02:55
Mejor usa parseInt() o parseFloat() o Number()
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

2 no es menor que 15 ??

Publicado por Papupa (3 intervenciones) el 01/08/2019 01:06:09
Cesar, muchas gracias por responder.
Pensé que podría ser eso, y también probe con la función parseInt, pero tampoco no funcionó... Debería no? ya que como dices el problema es que el valor no es un número.

Lo probé así:

1
2
3
4
5
6
7
var num2 = prompt("Ingresa el segundo número");
parseInt(num1);
parseInt(num2);
 
for (var i = num1; i <= num2; i++){
console.log(i);
}

Igualmente gracias por tu solución.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 81
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

2 no es menor que 15 ??

Publicado por Cesar (27 intervenciones) el 01/08/2019 01:28:47
Estas convirtiendo la variable, pero no estas asignando el valor de la misma.

Debe ser asi:

1
2
3
4
5
6
7
8
var num1 = prompt("Ingresa el primer número");
var num2 = prompt("Ingresa el segundo número");
num1=parseInt(num1);
num2=parseInt(num2);
for (var i = num1; i <= num2; i++)
{
   console.log(i);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

2 no es menor que 15 ??

Publicado por Papupa (3 intervenciones) el 01/08/2019 01:32:59
Justo venia de probar escribiéndola así:

1
2
var num1 = parseInt(prompt("Ingresa el primer número"));
var num2 = parseInt(prompt("Ingresa el segundo número"));

y eventualmente funcionó, ya iba a consular q me faltó en el primer intento.

Muchas gracias a ambos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar