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:
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>
Questi invece sono i campi interessati del form:
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>
Senza inserire il codice in rosso l'operazione viene eseguita ma ho quel problema.
Se invece faccio 1*1.55 non ho nessun problema mi restituisce 1.55.
Dove sbaglio?