Foros del Web » Programando para Internet » Javascript »

Error NaN en multiplicacion

Estas en el tema de Error NaN en multiplicacion en el foro de Javascript en Foros del Web. Hola amigos, espero me puedan ayudar tengo un codigo en javascript el cual realiza una simple multimplicacion de un precio por una cantidad para darme ...
  #1 (permalink)  
Antiguo 07/04/2011, 18:12
Avatar de Kmilolpz  
Fecha de Ingreso: julio-2010
Mensajes: 15
Antigüedad: 14 años, 4 meses
Puntos: 0
Error NaN en multiplicacion

Hola amigos, espero me puedan ayudar

tengo un codigo en javascript el cual realiza una simple multimplicacion de un precio por una cantidad para darme un total, el caso es que al realizar la multiplicacion me aparece NaN en lugar de el resultado. Aqui esta el codigo.

Código:
function actualiza_total()
{

	var cant = document.getElementById('cantidad').value;
	var precio = document.getElementById('precio').value;
	var total;
	total = cant * precio;
	document.getElementById('total').value = total;
}
Realmente no se cual sea el error, realmente se ve demaciado sencillo pero no se donde pueda estar el error, ya corrovore los vales de cant y precio, los valores estan bien.
  #2 (permalink)  
Antiguo 07/04/2011, 18:33
Avatar de laratik  
Fecha de Ingreso: mayo-2010
Ubicación: Cali
Mensajes: 317
Antigüedad: 14 años, 5 meses
Puntos: 63
Respuesta: Error NaN en multiplicacion

A primera vista el código no deberia darte errores, si el usuario sabe exactamente que se deben ingresar numeros, pero si ingresa un valor NO numerico es normal que el resultado de NaN, por lo cual se debe realizar dicha validación:

Código HTML:
<html>
<head>
<script>
function actualiza_total()
{

	var cant = document.getElementById('cantidad').value;
	var precio = document.getElementById('precio').value;
	if(isNaN(cant) || isNaN(precio)) {
		alert("Solo valores numericos por favor");
		document.getElementById('cantidad').value = "";
		document.getElementById('precio').value = "";
		return;
	}
	document.getElementById('total').value = cant*precio;
}
</script>
</head>

<body>
	<input type="text" id="cantidad">
    <input type="text" id="precio">
    <input type="button" value="multiplicar" onClick="actualiza_total()">
    <input type="text" id="total">
</body>
</html> 
__________________
Programar apasiona y lo que apasiona es un arte, por lo tanto programar es un arte.

Quiero karma para en mi próxima vida ser un billonario bien dotado con alas.
  #3 (permalink)  
Antiguo 07/04/2011, 18:34
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Error NaN en multiplicacion

buenas,

seguramente resulta NaN porque uno de los valores contiene caracteres invalidos. los valores de los campos siempre son de tipo string. al realizar un calculo aritmetico javascript primero intenta convertirlo a tipo number. si el formato no es correcto, es decir tiene un caracter que no corresponde a los numeros, entonces genera NaN.

__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.

Etiquetas: multiplicacion
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 04:14.