これを JavaScript で実行するにはどうすればよいですか?
var num = 2046430;
num.toLocaleString();
will give you "2,046,430";
私が試したことは次のとおりです:
var num = 2046430;
num.toLocaleString().toFixed(2);
期待される出力
「2,046,430.00」
ベストアンサー1
MDNより引用:
構文
numObj.toLocaleString([locales [, options]])
toLocaleString
2 つの引数を取ります。1 つ目はロケール、2 つ目はオプションです。オプションについては、次のものが必要です。
最小小数桁数
使用する小数点の最小桁数。指定できる値は 0 から 20 です。数値とパーセントの書式設定の既定値は 0 です。通貨書式設定の既定値は、ISO 4217 通貨コード リストで提供される小数点以下の桁数です (リストにその情報が提供されていない場合は 2)。
https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Number/toLocaleString
ロケールを設定せずにオプションを設定できるようにするには、最初の引数として undefined を渡します。
var num = 2046430;
num.toLocaleString(undefined, {minimumFractionDigits: 2}) // 2,046,430.00
しかし、これだと分数が 2 桁より長くなることもあります。そこで、 と呼ばれるもう 1 つのオプションを探す必要がありますmaximumFractionDigits
。(MDN のページにもあります)
var num = 2046430.123;
console.log(num.toLocaleString(undefined, {
minimumFractionDigits: 2,
maximumFractionDigits: 2
})); // 2,046,430.12