Ver Mensaje Individual
  #5 (permalink)  
Antiguo 23/05/2007, 01:10
El Patrón.
 
Fecha de Ingreso: abril-2006
Ubicación: Colombia
Mensajes: 648
Antigüedad: 18 años, 1 mes
Puntos: 3
Re: operaciones matematicas

Hola
Bueno, pues mira, uno de los inconvenientes era que lo tenia con parseInt y al hacer esto, el convierte a entero, no a float como lo necesitas en este caso. Eso por un lado.

Por otro, al ingresar 15,38 el entiende la parte antes de la coma como número, es decir, queda como 15 y el resto se pierde, porque? bueno, por la coma imagino, porque si pones 15.38 el funciona bien, para eso te tocaria entonces capturar el valor y si tiene coma entonces seria capturar la cadena y reemplazar el signo coma (,) por el signo punto (.) y luego si efectuar las operaciones, ahora bien, este es el código con el float, espero te sirva

Código:
function a(valor)
{
var  iva;
var total;
var valor_recibido;
//iva es del 16 por ciento en este ejemplo
valor_recibido = parseFloat(valor);
iva = valor_recibido * 0.16;
total = valor_recibido + iva;
// en el ej, si se pone 15.38 debe dar iva = 2.4608000000000003 y total = 17.8408
this.document.form1.iva.value =iva;
this.document.form1.total.value = total;
//la función toFixed deja tantos números decimales como se quiera, 
// asi entonces iva = 2.46 y total = 17.84
alert(iva.toFixed(2));
alert(total.toFixed(2));
}
Espero os sirva
__________________
Suerte.
_______________________________
"La vida es el principio de la muerte".