Salve ragazzi,
ho la necessità di eseguire una moltiplicazione tra due campi.
Ho trovato la funzione di moltiplicazione però il se io faccio 1*2 mi da giustamente 2 invece io vorrei che fosse 2.00 visto che il risultato si riferisce ad un'importo in euro da inserire in access.
Queto è quello che ho fatto:
Questi invece sono i campi interessati del form:codice:<script> function format(number, dec) { while (number.length < dec + 1) number = "0" + number; var formatted = ""; var decimal = new RegExp ("(\\d*?)(\\d{" + dec +"})$"); var fixed = new RegExp ("(\\d*?)(\\d{3})$"); split = decimal.exec(number); if (split[2].length > 0) { formatted = "," + split[2]; } number = split[1]; while (number.length > 2) { split = fixed.exec(number); formatted = "." + split[2] + formatted; number = split[1]; } formatted = number + formatted; return formatted; } </script> <script type="text/javascript"> <!-- Begin function startCalc(){ interval = setInterval("calc()",1); } function calc(){ one = document.form1.confVendute.value; two = document.form1.prezzoVendita.value; document.form1.totale.value = format( (one * 1) * (two * 1), 2) ; } function stopCalc(){ clearInterval(interval); } // End --> </script>
Senza inserire il codice in rosso l'operazione viene eseguita ma ho quel problema.codice:<td align="left" class="testoDati"> <input name="confVendute" type="text" id="confVendute" value="1" size="5" onFocus="startCalc();" onBlur="stopCalc();"/></td> </tr> <tr> <td colspan="2" align="left" class="testoDati">[img]immagini/null.gif[/img]</td> </tr> <tr> <td align="left" class="testoDati">Prezzo vendita</td> <td align="left" class="testoDati"><input name="prezzoVendita" type="text" class="testoDati" id="prezzoVendita" onFocus="startCalc();" onBlur="stopCalc()"/></td> </tr> <tr> <td colspan="2" align="left" class="testoDati">[img]immagini/null.gif[/img]</td> </tr> <tr> <td align="left" class="testoDati">Sub totale </td> <td align="left" class="testoDati"><input name="totale" type="text" class="testoDati" id="totale" /></td>
Se invece faccio 1*1.55 non ho nessun problema mi restituisce 1.55.
Dove sbaglio?