Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Evitar NAN en funcion

Estas en el tema de Evitar NAN en funcion en el foro de Javascript en Foros del Web. Hola a todos tengo esta pequeña función Código HTML: function totalfinal(i) { var p01 = parseFloat(document.getElementById('p1' + i).value); var p02= parseFloat(document.getElementById('p2' + i).value); var p03= ...
  #1 (permalink)  
Antiguo 08/07/2014, 17:14
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Evitar NAN en funcion

Hola a todos tengo esta pequeña función

Código HTML:
function totalfinal(i) {
	
    var p01 = parseFloat(document.getElementById('p1' + i).value);
    var p02= parseFloat(document.getElementById('p2' + i).value);
    var p03= parseFloat(document.getElementById('p3' + i).value);
    
    document.getElementById('total' + i).value =p01+p02+p03;
   
     
}
Pero cuando la ejecuto sin agregar valores me sale NaN
que puedo hacer para evitar esto???

Gracias
  #2 (permalink)  
Antiguo 08/07/2014, 17:27
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: Evitar NAN en funcion

Podrías revisar si el campo está vacío o no tiene un número, asignar 0, antes de la operación.

Código Javascript:
Ver original
  1. if(isNaN(document.getElementById('p1' + i).value))//si no es un numero
  2.      document.getElementById('p1' + i).value=0;

o bien algún otro mecanismo para adquirir el valor del input, pero siempre verificando si es o no un número.
  #3 (permalink)  
Antiguo 08/07/2014, 17:35
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 10 meses
Puntos: 12
Respuesta: Evitar NAN en funcion

Cita:
Iniciado por ocp001a Ver Mensaje
Podrías revisar si el campo está vacío o no tiene un número, asignar 0, antes de la operación.

Código Javascript:
Ver original
  1. if(isNaN(document.getElementById('p1' + i).value))//si no es un numero
  2.      document.getElementById('p1' + i).value=0;

o bien algún otro mecanismo para adquirir el valor del input, pero siempre verificando si es o no un número.
GRACIAS amigo :)
  #4 (permalink)  
Antiguo 09/07/2014, 06:21
Colaborador
 
Fecha de Ingreso: septiembre-2013
Ubicación: España
Mensajes: 3.648
Antigüedad: 10 años, 8 meses
Puntos: 578
Respuesta: Evitar NAN en funcion

Utilizar solo isNaN para hacer una comprobación no es la mejor forma debido a que puede producirse (en este caso siempre) una conversión de tipos... Yo siempre lo hago de dos formas:

Código Javascript:
Ver original
  1. var value = document.getElementById('p1' + i).value;
  2. if(isNaN(parseFloat(value)) || isNaN(Number(value)))
  3.      document.getElementById('p1' + i).value = 0;

Última edición por PHPeros; 09/07/2014 a las 11:52

Etiquetas: funcion, valor
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 14:57.