30/05/2007, 05:25
|
| | Fecha de Ingreso: mayo-2007
Mensajes: 48
Antigüedad: 17 años, 7 meses Puntos: 0 | |
Re: Problema con formulario y decimales. ya pude solucionarlo y lo que use fue esto os pongo la funcion java:
Código:
function sumacantidad()
{
var im1, im2, im3, im4, im5, im6, im7, suma;
var p1=0;
var p2=0;
var p3=0;
var p4=0;
var p5=0;
var p6=0;
var p7=0;
p1=document.form1.CA1.value*document.form1.IM1.value;
document.form1.P1.value=p1;
p2=document.form1.CA2.value*document.form1.IM2.value;
document.form1.P2.value=p2;
p3=document.form1.CA3.value*document.form1.IM3.value;
document.form1.P3.value=p3;
p4=document.form1.CA4.value*document.form1.IM4.value;
document.form1.P4.value=p4;
p5=document.form1.CA5.value*document.form1.IM5.value;
document.form1.P5.value=p5;
p6=document.form1.CA6.value*document.form1.IM6.value;
document.form1.P6.value=p6;
p7=document.form1.CA7.value*document.form1.IM7.value;
document.form1.P7.value=p7;
var iva
suma=p1+p2+p3+p4+p5+p6+p7;
iva=suma*0.16;
document.form1.SUBTOTAL.value=NumberFormat(suma-iva,'2', '.', ',');
document.form1.IVA.value=NumberFormat(suma*0.16,'2', '.', ',');
document.form1.TOTAL.value=NumberFormat(suma,'2', '.', ',');
}
//Funcion decimales y miles
function NumberFormat(num, numDec, decSep, thousandSep){
var arg;
var Dec;
Dec = Math.pow(10, numDec);
if (typeof(num) == 'undefined') return;
if (typeof(decSep) == 'undefined') decSep = ',';
if (typeof(thousandSep) == 'undefined') thousandSep = '.';
if (thousandSep == '.')
arg=/./g;
else
if (thousandSep == ',') arg=/,/g;
if (typeof(arg) != 'undefined') num = num.toString().replace(arg,'');
num = num.toString().replace(/,/g, '.');
if (isNaN(num)) num = "0";
sign = (num == (num = Math.abs(num)));
num = Math.floor(num * Dec + 0.50000000001);
cents = num % Dec;
num = Math.floor(num/Dec).toString();
if (cents < (Dec / 10)) cents = "0" + cents;
for (var i = 0; i < Math.floor((num.length - (1 + i)) / 3); i++)
num = num.substring(0, num.length - (4 * i + 3)) + thousandSep + num.substring(num.length - (4 * i + 3));
if (Dec == 1)
return (((sin)? '': '-') + num);
else
return (((sign)? '': '-') + num + decSep + cents); g
}
Si alguien tiene duda puedo postear todo el codigo del forumlario para futuros problemas. Pero con el ejemplo que poneis tambien se puede solucionar muchisimas gracias una vez mas. |