uso questo script
codice:
	
for (x=1; x<=numero_prodotti; x++) {
		qta=prc.elements["qta"+x].value;
		if(isNaN(qta)) alert("Si è verificato un errore");
		p=prc.elements["p"+x].value;
		if(isNaN(p)) alert("Si è verificato un errore");
		parziale=qta*p;
		totale+=parziale;
		//alert(totale);
}
qta1, qta2, qta3 sono campi che contengono numeri interi [1,2,3,4..]
p1,p2,p3 sono campi hidden che contengono prezzi nel formato [11.00, 9.9, 10.56....]

La cosa curiosa è che il risultato dato è un float del tipo 21.8999999996.
Faccio un esempio, se mi tovo nella situazione:
11.00*1+
9.9*1+
9.9*1+
9.9*1=
40.699999999999996
****al posto di 40.7****
Cosa sbaglio?