2013-10-21 18 views
5

Ho una tabella html con numeri in celle (classe "numeri"). Alcuni numeri sono numeri interi, altri con un numero decimale o due numeri decimali.Javascript - sostituire numeri interi per decimali

Mi piacerebbe creare uno script, che converta tutti i numeri in due decimali e poi li inserisca nel codice.

e.g. 
1 = 1.00 
1.0 = 1.00 
1.00 = 1.00 

Qui è la mia prima attemp, che converte un numero decimale a due decimali:

var elements = document.getElementsByClassName("numbers"); 
for (var i = 0, l = elements.length; i < l; i++) { 
elements[i].innerHTML = elements[i].innerHTML.replace(/\d{1,2}(\.\d{1})/g, "$&0"); 
} 
+0

Quali risultati si ottiene con il codice esistente? – Gabe

+0

Con codice esistente ottengo questo risultato: 6.3 = 6.30 OK 1.55 = 1.505 SBAGLIATO – earthandroid

risposta

1

Perché non solo (+elements[i].innerHTML).toFixed(2)?

Working demo

+0

Ho provato e ottenuto questo valore "NaN". Forse perché i numeri hanno un formato strano - inizi con spazio: "1,23" – earthandroid

+0

immagino che non sia un problema, ma puoi fare un assetto prima – letiagoalves

+0

@letiagoalves perché "tagliare" fare la differenza? –

8

perché non solo parseFloat?

parseFloat(Math.round([elementnumberhere] * 100)/100).toFixed(2);

Problemi correlati