Verwendung von toLocaleString () und tofixed (2) in JavaScript

73

Wie kann ich das in JavaScript machen?

var num = 2046430; 
num.toLocaleString();

will give you "2,046,430";

Was ich versucht habe ist:

var num = 2046430; 
num.toLocaleString().toFixed(2);

Erwartete Ausgabe

2.046.430,00

Frage Benutzer
quelle

Antworten:

175

Entnommen aus MDN:

Syntax

numObj.toLocaleString([locales [, options]])

toLocaleStringnimmt 2 Argumente. Das erste ist das Gebietsschema, das zweite sind die Optionen. Was die Optionen betrifft, suchen Sie:

MinimumFractionDigits

Die Mindestanzahl der zu verwendenden Bruchziffern. Mögliche Werte sind 0 bis 20; Der Standardwert für die Formatierung von einfachen Zahlen und Prozent ist 0. Die Standardeinstellung für die Währungsformatierung ist die Anzahl der Nebenstellen, die in der Währungscodeliste nach ISO 4217 angegeben sind (2, wenn die Liste diese Informationen nicht enthält).

https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString

Um die Optionen festlegen zu können, ohne das Gebietsschema festzulegen, können Sie als erstes Argument undefiniert übergeben:

var num = 2046430;
num.toLocaleString(undefined, {minimumFractionDigits: 2}) // 2,046,430.00

Dies ermöglicht jedoch auch, dass der Bruch länger als 2 Stellen ist. Wir müssen also nach einer weiteren Option namens suchen maximumFractionDigits. (Auch auf dieser MDN-Seite)

var num = 2046430.123;
num.toLocaleString(undefined, {
  minimumFractionDigits: 2,
  maximumFractionDigits: 2
}) // 2,046,430.12
Sebastian Nette
quelle
7
Auch noch eine Sache. Sie können solche Dinge aus praktischen Gründen tun: jsfiddle.net/st31wm96/2, da es sich durchaus wiederholen kann, dies immer von Hand zu schreiben.
Sebastian Nette