Formatieren von zahlen in JavaScript ist ähnlich wie C#
Gibt es eine einfache Möglichkeit zum formatieren von zahlen in JavaScript, ähnlich wie die Formatierung von Methoden in C# (oder VB.NET) über ToString("format_provider")
oder String.Format()
?
InformationsquelleAutor xiemails | 2009-07-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie wahrscheinlich haben einen Blick auf das JQuery-NUMBERFORMATTER-plugin:
Jquery Anzahl Formatter
Und diese Frage:
Javascript einfacher Weg, um zahlen zu formatieren
InformationsquelleAutor karim79
In der Regel
In jQuery
Sollten Sie post, als Antwort. Das ist definitiv die beste Nummer formatter plugin, das ich verwendet habe. Ich wünschte, es waren Unterlagen außerhalb der unit-tests obwohl.
Es ist nie zu spät. Hier bin ich mit Blick auf dieses mehr als ein Jahr später!
Und mich fast drei Jahre später!
autoNumeric ist Recht voll ausgestattete und kürzlich aktualisiert, um 1.8.0.
InformationsquelleAutor rahul
Ja, es ist definitiv ein Weg, um zahlen zu formatieren, richtig in javascript, zum Beispiel:
Mit der Nutzung der Variablenname.toFixed .
Und es ist eine weitere Funktion
toPrecision()
.Für weitere Details können Sie auch besuchen
http://raovishal.blogspot.com/2012/01/number-format-in-javascript.html
InformationsquelleAutor Vishal Barot
Hier ist eine einfache JS-Funktion zum hinzufügen von Kommas, um eine Zahl im string-format. Es handle ganzen zahlen oder Dezimalzahlen. Man kann Sie entweder eine Zahl oder ein string sein. Offensichtlich gibt einen string zurück.
Hier ist eine Reihe von Testfällen: http://jsfiddle.net/jfriend00/6y57j/
Können Sie sehen, dass es in diesem früheren jsFiddle: http://jsfiddle.net/jfriend00/sMnjT/. Finden Sie Funktionen, die handle decimal-zahlen auch mit einer einfachen Google-Suche nach "javascript hinzufügen Kommas".
Konvertieren einer Zahl in einen string kann getan werden, viele Möglichkeiten. Das einfachste ist einfach, um es in einen string:
Innerhalb der Kontext Ihrer jsFiddle, würden Sie bekommen Komma in den Zähler, indem Sie diese Zeile:
:
Können Sie sehen, es arbeiten hier: http://jsfiddle.net/jfriend00/CbjSX/
Unterstützung für dezimal-zahlen in der
addCommas()
Funktion, so dass es funktioniert für zahlen mit einem dezimalen Teil.Nicht so heiß für negative zahlen ):
Ich fügte Unterstützung für negative zahlen.
Sehr schön. Ich bin mit diesem jetzt.
InformationsquelleAutor jfriend00
Schrieb ich eine einfache Funktion (nicht noch ein weiteres jQuery-plugin benötigt!!) wandelt eine Zahl in eine dezimal-getrennter string, oder ein leerer string, wenn der Zahl nicht eine Anzahl zu beginnen mit:
format(578999);
Ergebnisse in578,999
format(10);
Ergebnisse in10
wenn Sie einen dezimal-Punkt statt ein Komma ersetzen das Komma im code mit Dezimalpunkt.
Einer der Kommentare korrekt angegeben, dies funktioniert aber nur für Ganzzahlen, mit ein paar kleinen Anpassungen können Sie es Arbeit für floating points:
Wenn Sie trennen die floating-point-Teil zuerst, dann tun Sie dies mit der Ganzzahl, und fügen Sie dann der fließende Punkt wieder es sollte auch auf fp
"412.8".replace(/\B(?=(\d{3})+(?!\d))/g, ",");
zurück412.8
. Ich denke, es könnte zurück412.80
InformationsquelleAutor patrick
Sind hier einige Lösungen, die alle den test bestehen, suite, test-und benchmark-suite enthalten, wenn Sie möchten, kopieren und einfügen, um zu testen, versuchen Diese Gist.
Methode 0 (RegExp)
Basis auf https://stackoverflow.com/a/14428340/1877620, aber fix, wenn es keinen Dezimalpunkt.
Methode 1
Methode 2 (Split-Array)
Methode 3 (Loop)
Beispiel
Separator
Wenn wir wollen, dass benutzerdefinierte Trennzeichen für Tausender-oder Dezimaltrennzeichen, replace () verwenden:
Test-suite
Benchmark
InformationsquelleAutor Steely Wing
Wenn Sie nicht wollen, um jQuery verwenden, werfen Sie einen Blick auf Numeral.js
InformationsquelleAutor adamwdraper
Erstens, die Umwandlung eines integer in string in JS ist wirklich einfach:
Wenn Sie eine Zahl als string und möchte es sich an eine integer-Zahl, Sie verwenden die
parseInt(string)
für Ganzzahlen undparseFloat(string)
für Schwimmer. Diese beiden Funktionen dann wieder die gewünschte integer/float. Beispiel:Was genau wollen Sie Anhängen etc, bleibt mir unklar bei deiner Frage.
Ich verstehe nicht, was muss angehängt werden nach einem Koma. Wenn es nur das zählen, empfehle ich schwimmen, und wenn Sie möchten, dass 2 Nachkommastellen Sie könnten zum Beispiel einfach erhöht die Anzahl um 0,01 jedes mal, nicht von 1.
Sie haben wirklich Geduld mit mir - ich verstehe nicht, wie meine konvertieren Zahl in einen string in meinem code.
Bitte verwenden Sie
parseInt(..., 10)
obwohl,, um sicherzustellen, Basis 10 verwendet.Nicht eine Antwort auf die Frage. Will er (und ich auch) zu drehen
XXXXXXX.YYYY
inX,XXX,XXX.YYYY
.InformationsquelleAutor zatatatata
http://code.google.com/p/javascript-number-formatter/ :
UPDATE
Wie gesagt Tomáš Zato hier eine Lösung:
beschrieben in der ECMA-262 5.1 Edition:
sich und arbeiten in zukünftigen Versionen von Browsern...
Weil ich möchte nicht in der Bibliothek, wenn ich nur eine einfache Funktion...?
Ist, dass einfache Funktion: code.google.com/p/javascript-number-formatter/source/browse/... ? Ich denke - ja (60 Zeilen code).
Sie haben sehr richtig gesagt "ich glaube". Das ist, weil, ob etwas einfach ist oder nicht ist Ansichtssache. Es gibt keine absolute Wahrheit unter Meinungen geben uns die Möglichkeit, unendlich viele Argumente.
Es scheint, du bist wirklich bereit zu gehen geflame über mein Kommentar. Habt Ihr nichts besseres zu tun? Trotzdem, ein Einzeiler cross-country-code ist
(6666.0).toLocaleString()
. Und Sie sind herzlich eingeladen zu rufen jedes Verhalten, was Sie wollen, wenn Sie sind sich bewusst, dass solche Kommentare sind out-of-topic und könnte verschwinden. Auch bitte aufhören zu versuchen, um mich undownvote Ihre post. Sie sind zum scheitern verurteilt, weil ich nicht downvote Sie... ich prever Kommentare über downvotes.InformationsquelleAutor gavenkoa
Beispiel:
InformationsquelleAutor Jake Badlands
Mit JQuery.
InformationsquelleAutor Adrian
Um eine Dezimalzahl mit 2 stellen nach dem Komma, Sie könnten einfach verwenden:
InformationsquelleAutor Nekudotayim
Hier ist eine andere version:
InformationsquelleAutor user673117
Machte ich eine einfache Funktion, vielleicht kann jemand es verwenden,
diese erzeugen kann die folgenden Ausgänge:
InformationsquelleAutor Alejandro Silva
Ist, sollten Sie die format-Nummer für die Ansicht, sondern für die Berechnung, die Sie verwenden können, diese
Eingang: {Ganze Zahl} Anzahl
Ausgänge: {String} Anzahl
22,870 => wenn Anzahl 22870
22,87 Millionen => wenn Anzahl 2287xxxx (x kann alles sein)
22,87 Milliarden => wenn Anzahl 2287xxxxxxx
22,87 Billionen => wenn Anzahl 2287xxxxxxxxxx
Du auf die Idee
InformationsquelleAutor Herbi Shtini
Darf ich vorschlagen, numbro für locale, die Formatierung und number-format.js für den Allgemeinen Fall. Eine Kombination aus beiden je nach use-case kann helfen.
InformationsquelleAutor John Stephenson