Salve,

per calcolare un prodotto fra numeri ed il relativo arrotondamento usa le funzioni:

codice:
<script language="JavaScript" type="text/JavaScript">
function dp(price) 
{
   string = "" + price;
   number = string.length - string.indexOf('.');
   if (string.indexOf('.') == -1)
      return string + '.00';
   if (number == 1)
      return string + '00';
   if (number == 2)
      return string + '0';
   if (number > 3)
      return string.substring(0,string.length-number+3);
return string;
}

function calculate()
{	
	prod21 = document.form.prod21.value; //Prezzo Fornitore (Imponibile)
	prod22 = document.form.prod22.value; //% di Margine
	prod21 = dp(prod21);
	prod22 = prod22;
	
	
	iva = 20;//iva
	if (iva.length < 2)
		iva = '0' + iva;
	if (prod22.length < 2)
		prod22 = '0' + prod22
	
	
	ant_imp = (prod21) * ('1.'+(prod22)); //calcolo dell'imponibile
	ant_ivato = (ant_imp) * ('1.'+(iva)); //calcolo del totale iva inclusa  
	document.form.ant_imp.value = dp(Math.round(ant_imp*100)/100); //arrotondamento
	
	
}
</script>
accade però che inserendo prod21 = 0.639 e prod21 = 0, cioè aggiungo a 0.639 lo 0%, la funzione js mi arrotonda lo "0.639" a 0.63 e non a 0.64, come sarebbe più giusto.
Qualcuno sa aiutarmi? Grazie.