Dumbo
2009-06-20 18:36:03 UTC
La seguente funzione effettua la moltiplicazione di due numeri
decimali (il separatore decimale può essere indifferentemente una
virgola o un punto). Inoltre formatta il risultato con due cifre
decimali. Tutto bene ma .... funziona correttamente con IE ma non con
FF nè con Chrome.
Quale potrebbe essere la causa ?
Grazie per l'attenzione
Dumbo
function Calcola(){
// si può usare sia la virgola che il punto
var sg =document.getElementById ("Grammi").value;
sg=sg.replace(/\,/g , ".");
var g=parseFloat(sg);
var si =document.getElementById ("Importo").value;
si=si.replace(/\,/g , ".");
var i=parseFloat(si);
var tot=i/g;
tot = String(Math.round(tot*100)/100);
tot = (tot.indexOf(".")>=0)?tot+"0":tot+".00";
tot = tot.substr(0,tot.indexOf(".")+3);
tot=tot.replace(/\./g , ","); // output sempre con virgola
document.getElementById ("PrezzoGrammo").value =tot
}
decimali (il separatore decimale può essere indifferentemente una
virgola o un punto). Inoltre formatta il risultato con due cifre
decimali. Tutto bene ma .... funziona correttamente con IE ma non con
FF nè con Chrome.
Quale potrebbe essere la causa ?
Grazie per l'attenzione
Dumbo
function Calcola(){
// si può usare sia la virgola che il punto
var sg =document.getElementById ("Grammi").value;
sg=sg.replace(/\,/g , ".");
var g=parseFloat(sg);
var si =document.getElementById ("Importo").value;
si=si.replace(/\,/g , ".");
var i=parseFloat(si);
var tot=i/g;
tot = String(Math.round(tot*100)/100);
tot = (tot.indexOf(".")>=0)?tot+"0":tot+".00";
tot = tot.substr(0,tot.indexOf(".")+3);
tot=tot.replace(/\./g , ","); // output sempre con virgola
document.getElementById ("PrezzoGrammo").value =tot
}