Números

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?
1

1 respuesta

Respuesta
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.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas