Ciao a tutti,
ho un problema con Javascript e la somma di numeri con due decimali. In alcuni casi Javascript sbaglia la somma. Penso sia un problema legato all'impossibilità di rappresentare in modo preciso alcuni numeri decimali. Però può anche darsi che sbaglio io, non conosco Javascript bene. Questo è il mio codice, che fa la somma del contenuto di una colonna di una tabella man mano che l'utente scrive (event onKeyUp):
........
for(i = 1; i < (rows.length-1); i++) {
var cols = rows[i].getElementsByTagName('td');
var figli = cols[colIdx].childNodes;
for (k = 0; k < figli.length; k++) {
var itm = figli[k];
if (itm.id == "targets:tabella:"+(i-1)+":"+campo) {
var s = itm.value;
s = new String(s);
s = s.replace("\.","");
s = s.replace(",", "\.");
totale += ((isNaN(parseFloat(s)))?0arseFloat(s));[/B]
}
}
}
.......
In buona sostanza trasformo in Stringa, tolgo il . delle migliaia, trasformo la virgola decimale in punto e poi sommo.
Ho un caso. Se sommo questi numeri:
75,68
75,77
76,77
75,77
74,79
75,77
Javascript dice : 454,54
In realtà è : 454,55
Sbaglio io da qualche parte?![]()