JavaScript | 数値を指定したロケールに応じた形式で文字列に変換(toLocaleString() メソッド)

javascrpit JavaScript
スポンサーリンク

主な内容の要点

1. 目的/概要

Number オブジェクトのインスタンスメソッド toLocaleString を使うと、指定したロケール(地域と言語の組み合わせ)に応じた数値表記の形式で文字列を取得できる。
たとえば、桁区切り(千区切りの記号)や小数点記号の表記が国・地域によって変わるが、このメソッドで自動的にその形式に変換できる。

2. 構文

数値.toLocaleString([ロケール[, オプション]])
JavaScript
  • 第1引数 ロケール:省略可能。引数を省略するとデフォルトロケールが使われる。
  • 第2引数 オプション:表示形式などを細かく制御する設定(このページでは詳細は説明されていない)。

3. 動作例と国・地域による違い

以下のような例が挙げられている:

let num = 8242.56;
console.log(num.toLocaleString());        // => "8,242.56"(デフォルトロケール、日本など)
console.log(num.toLocaleString('ja-JP')); // => "8,242.56"
console.log(num.toLocaleString('de-DE')); // => "8.242,56"
console.log(num.toLocaleString('ru-RU')); // => "8 242,56"  (空白を桁区切りに使用)
JavaScript
  • 日本語(ja-JP)では千の区切りにカンマ(,)、小数点にピリオド(.)。
  • ドイツ(de-DE)では桁区切りにドット(.)、小数点にカンマ(,)。
  • ロシア(ru-RU)では桁区切りに「空白」が使われる。

4. 整数に対しての注意点

もし整数リテラルに対して直接 toLocaleString を呼び出すと、構文上エラーになることがある(例:1000.toLocaleString(…) が構文エラーになる)。
 これを避ける方法として、下記のどちらかを使う:

    • (1000).toLocaleString('ja-JP')
    • 1000 .toLocaleString('ja-JP') (数値のあとに空白を入れる)

    これで整数にも安全に toLocaleString を適用できる。

    タイトルとURLをコピーしました