2013-10-21 16 views
5

Ich habe HTML-Tabelle mit Zahlen in Zellen (Klasse "Zahlen"). Einige Zahlen sind ganze Zahlen, andere mit einer Dezimalzahl oder zwei Dezimalzahlen.Javascript - ersetzen ganze Zahlen durch Dezimalstellen

Ich möchte Skript machen, das alle Zahlen in zwei Dezimalzahlen konvertiert und dann in den Code einfügt.

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

Hier ist meine erste attemp, die eine Dezimalzahl auf zwei Dezimalstellen zu konvertieren:

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

Welche Ergebnisse erhalten Sie mit Ihrem vorhandenen Code? – Gabe

+0

Mit vorhandenem Code bekomme ich folgendes Ergebnis: 6.3 = 6.30 OK 1.55 = 1.505 WRONG – earthandroid

Antwort

1

Warum nicht einfach (+elements[i].innerHTML).toFixed(2)?

Working demo

+0

Ich habe versucht und habe diesen Wert "NaN". Vielleicht, weil die Zahlen seltsames Format haben - Anfänge mit dem Raum: "1.23" – earthandroid

+0

Ich denke, das ist kein Problem, aber Sie können eine Trimm zuerst machen – letiagoalves

+0

@letiagalves warum würde 'trim' einen Unterschied machen? –

8

Warum gehst du nicht einfach parseFloat?

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

Verwandte Themen