【JavaScript】toLocaleString()で地域に適したデータに変換する

JavaScriptのtoLocaleString()メソッドは、データをその地域に適した形式で表現するためのツールです。このメソッドは、NumberDate、およびArrayオブジェクトに対して使用でき、地域設定に基づいた形式でデータを文字列に変換します。本記事では、toLocaleSting()の用途と使用例を解説します。

1. 数値のフォーマット(Number.prototype.toLocaleString()

数値を地域に合わせた形式にする場合を見てみましょう。例えば、各国の通貨に変換したいとき、toLocaleString()を使うことができます。

let number = 123456.789;

// アメリカ合衆国の通貨形式
console.log(number.toLocaleString('en-US', { style: 'currency', currency: 'USD' }));
// 出力: $123,456.79

// ドイツの数値形式
console.log(number.toLocaleString('de-DE'));
// 出力: 123.456,789

// 日本の通貨形式
console.log(number.toLocaleString('ja-JP', { style: 'currency', currency: 'JPY' }));
// 出力: ¥123,457

2. 日付のフォーマット(Date.prototype.toLocaleString()

日付オブジェクトを地域の日付および時刻の形式に変換する際に使用します。

let date = new Date();

// アメリカ合衆国の日付と時刻の形式
console.log(date.toLocaleString('en-US'));
// 出力: 4/19/2024, 12:00:00 PM

// イタリアの日付形式
console.log(date.toLocaleString('it-IT'));
// 出力: 19/4/2024, 12:00:00

// 日本の日付と時刻の形式
console.log(date.toLocaleString('ja-JP'));
// 出力: 2024/4/19 12:00:00

3. 配列のフォーマット(Array.prototype.toLocaleString()

配列内の各要素を地域設定に基づいて文字列に変換し、それらを結合して返します。

let dates = [new Date(2024, 3, 19), new Date(2024, 11, 24)];
console.log(dates.toLocaleString('ja-JP'));
// 出力: 2024/4/19, 2024/12/24

let numbers = [123456, 7890];
console.log(numbers.toLocaleString('de-DE'));
// 出力: 123.456, 7.890

使い方のポイント

  • オプションの指定toLocaleString()では第二引数にオプションオブジェクトを指定することで、変換のスタイル(通貨、パーセント、数値)、使用する通貨タイプ、最小・最大小数点以下の桁数などを細かく設定できます。
  • パフォーマンスtoLocaleString()メソッドは内部的に地域情報を処理するため、特に大量のデータを処理する場合にはパフォーマンスに影響を与える可能性があります。使用する際は適切な場面を選ぶことが重要です。
上部へスクロール