Números

Hola tengo un problema para comparar dos cantidades que están en un input lo que hago es los siguiente:
if(Num.value > Cad.value)
{
alert('El dato no es valido');
Num
Num.focus();
Y lo que hace es comparar solamente el primer dígito por ejemplo si es 3000 en un input y 45 en otro aparece el mensaje del alert. ¿Por qué 4 es mayor que 3 y no quiero que compare un numero sino toda la cantidad podría alguien ayudarme? Y gracias por su atención.
1

1 respuesta

1
Respuesta de
Estas comparando cadenas de caracteres, ordenado alfabéticamente "45" es mayor que "3000". Convertilo a numeros con la funcion parseInt() asi
if(parseInt(Num.value) > parseInt(Cad.value))
{
Así te va a andar sin problemas. Si los números son decimales tienes la función parseFloat() que se usa igual que la anterior.
Espero que te sirva.
Saludos
Ignacio Crespo
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
¿No es la pregunta que estabas buscando?
Puedes explorar otras preguntas del tema Javascript o hacer tu propia pregunta: