Update (7 Jahre später)
Die in der ursprünglichen Antwort unten zitierte Referenz war falsch. Hierfür gibt es eine eingebaute Funktion, die genau das ist, was Kaiser unten vorschlägt:toLocaleString
So können Sie tun:
(1234567.89).toLocaleString('en') // for numeric input
parseFloat("1234567.89").toLocaleString('en') // for string input
Die unten implementierte Funktion funktioniert ebenfalls, ist aber einfach nicht erforderlich.
(Ich dachte, ich würde vielleicht Glück haben und herausfinden, dass es 2010 notwendig war, aber nein. Nach dieser zuverlässigeren Referenz ist toLocaleString seit ECMAScript 3rd Edition [1999] Teil des Standards, was meiner Meinung nach bedeutet wäre schon in IE 5.5 unterstützt worden.)
Ursprüngliche Antwort
Nach dieser Referenz gibt es keine eingebaute Funktion zum Hinzufügen von Kommas zu einer Zahl. Diese Seite enthält jedoch ein Beispiel dafür, wie Sie es selbst codieren können:
function addCommas(nStr) {
nStr += '';
var x = nStr.split('.');
var x1 = x[0];
var x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + ',' + '$2');
}
return x1 + x2;
}
Bearbeiten:
Um in die andere Richtung zu gehen (Zeichenfolge mit Komma in Zahl umwandeln), können Sie Folgendes tun:
parseFloat("1,234,567.89".replace(/,/g,''))