Ver Mensaje Individual
  #11 (permalink)  
Antiguo 05/01/2007, 06:25
Avatar de KarlanKas
KarlanKas
Moderador extraterrestre
 
Fecha de Ingreso: diciembre-2001
Ubicación: Madrid
Mensajes: 6.987
Antigüedad: 23 años, 2 meses
Puntos: 61
Re: Sumar decimales

A ver que te parece así:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
<title>Untitled</title>
<style>
.texto{
text-align:right;
font:normal 12px/12px 'courier new';
border:solid 1px black;
}
</style>
<script>

function sumar(){
campos=['pvd_batlarga','pvd_funda','pvd_protector']; //Pon aquí entre comillas y separados por comas los campos a sumar.
name_del_formulario="f1";
name_del_total="total_pvd";
name_del_total_con_IVA="total_pdv_iva";


f=document.forms[name_del_formulario];
total=0;


//Quitamos los puntos, las comas las cambiamos por puntos y sumamos los campos.
for(a=0;a<campos.length;a++){
	c=f[campos[a]].value;
	if(c!=""){ //solo suma si hay algo en el campo.
	c=c.split(".").join("");
	c=c.split(",").join(".");
	total+=parseFloat(c);

	}
}

totalConIVA=total/(10/7);//AQUI SE PONE COMO CALCULAR EL IVA!!

//Ponemos los resultados
f[name_del_total].value=ponerBonito(total);
f[name_del_total_con_IVA].value=ponerBonito(totalConIVA);
}


function ponerBonito(esto){
pepe=0;
g="";
anterior=0;
//separamos los enteros de los decimales
partes=String(esto).split(".");
cifras=partes[0].length;
enteros=partes[0];
decimales=partes[1];

decimales=(decimales!=null)?String(decimales).substring(0,2):"00"; //para corregir que salgan más de dos decimales y para quitar el feo undefined
if(decimales.length<2){
decimales+="0";
}

//Averiguamos dónde poner el primer punto
primerPunto=cifras%3;
primerPunto=(primerPunto==0)?3:primerPunto;


//Colocamos los puntos de miles
for(ff=primerPunto;ff<=cifras;ff+=3){
	g+=enteros.substring(anterior,ff)+".";
	anterior=ff;
}
//unimos enteros y decimales
pepe=g.substring(0,g.length-1)+","+decimales;
return pepe;
}
</script>
</head>

<body>
<form name="f1">
<input class="texto" type="Text" value="1.100.123,12" name="pvd_batlarga"><br />
<input class="texto" type="Text" value="123.000,23" name="pvd_funda"><br />
<input class="texto" type="Text" value="1.000,22" name="pvd_protector"><br />
================&nbsp; <input type="button" value="sumar" onclick="sumar()"><br />
<input class="texto" type="Text" name="total_pvd"><br />
<input class="texto" type="Text" name="total_pdv_iva"><br />
</form>


</body>
</html>
Espero que te sirva ahora. El script ha cambiado bastante. Copialo entero...
__________________
Cómo escribir

No hay pregunta tonta, sino tonto que quiere seguir en la ignorancia.