Foros del Web » Programando para Internet » Javascript »

Problema con una Comparación incorrecta entre dos variables

Estas en el tema de Problema con una Comparación incorrecta entre dos variables en el foro de Javascript en Foros del Web. Buenas tardes a todos, espero me podáis ayudar con lo que me sucede: Este es el codigo: if (valor>=valor2) { confirmar=confirm("La cantidad solicitada del producto ...
  #1 (permalink)  
Antiguo 21/06/2005, 09:26
Avatar de jjrolevio  
Fecha de Ingreso: agosto-2002
Ubicación: España-Castilla la Mancha-Ciudad Real-Alcazar de San Juan
Mensajes: 196
Antigüedad: 21 años, 8 meses
Puntos: 0
Pregunta Problema con una Comparación incorrecta entre dos variables

Buenas tardes a todos, espero me podáis ayudar con lo que me sucede:

Este es el codigo:

if (valor>=valor2)
{
confirmar=confirm("La cantidad solicitada del producto es de: "+valor+" und de: "+valor2+" und de las que dispone el producto. En caso de querer continuar, las unidades que excedan de las que tiene el producto, se pasarán como RE (reservar). ¿DESEA CONTINUAR?");
if(!confirmar)
{
document.getElementById(cantidad).focus();
return false;
}
}

Lo que pasa es que a la hora de compararme valor>=valor2 me los compara mal, me explico. Si valor=5 y valor2=80 pues me funciona correctamente, pero si pongo valor=5 y valor2=48 no me funciona y no pasa por confirmar.

Me he dado cuenta que el error está cuando pongo un número mayor en valor2, por ejemplo valor2=45 y el primer valor tiene el primer digito más alto que el primer digito de valor2, por ejemplo el anterior valor=5 y valor2=45. En este caso es en el que falla, pero el qui de la cuestión es como si sólo me contemplara los primeros digitos de valor y valor2. Pero como he dicho en el caso de valor=5 y valor2=70 si me funciona, por lo que yo no le veo lógica, aunque si veo el error comentado.

Espero me podáis ayudar.
  #2 (permalink)  
Antiguo 21/06/2005, 09:31
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Hola jjrolevio

Lo que ocurre es que los value son string, así que tendrás que pasarlo a números para que te haga bien la comparación:

if (parseInt(valor) >= parseInt(valor2))

si utilizas números decimales en lugar de parseInt pon parseFloat

Saludos,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:04.