1. ホーム
  2. javascript

[解決済み] JavaScriptでtoLocaleString()とtofixed(2)を使用する方法

2022-11-09 18:21:34

質問

JavaScriptでこれを行うにはどうしたらよいでしょうか?

var num = 2046430; 
num.toLocaleString();

will give you "2,046,430";

私が試したのは

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

期待される出力

"2,046,430.00"

どのように解決するのですか?

MDNから引用しました。

構文

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

toLocaleString は2つの引数を取ります。1つ目はロケール、2つ目はオプションです。オプションについては、あなたが探しているのは

最小の端数桁数

使用する分数の最小桁数。 使用可能な値は0から20までです。 通貨フォーマットのデフォルトは、ISO 4217 通貨コードで提供される小単位桁数です。 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桁より長くすることもできません。そこで、もう一つのオプションである maximumFractionDigits . (これもMDNページにあります)

var num = 2046430.123;
num.toLocaleString(undefined, {
  minimumFractionDigits: 2,
  maximumFractionDigits: 2
}) // 2,046,430.12