JavaScript

Array.prototype.toLocaleString()メソッド

 編集:2022.08.19 by T.A.

その Array の要素内容を、指定の言語に沿った表記にした文字列で返します。

ロケール固有の文字列に変換されます。通過記号の追加や、数字列のカンマ区切りなどが変わってきます。

Array.toLocaleString([locales[, options]]);
Array Arrayオブジェクト
locales 省略可。BCP 47 言語タグの文字列か、その配列です。locales 引数の一般的な形式と解釈については Intl オブジェクト ページを参照してください。→言語コード
options 省略可。設定プロパティのオブジェクトです。数値に関しては Number.prototype.toLocaleString() を、日付に関しては Date.prototype.toLocaleString() を見てください。
戻り値

配列の要素を表す文字列です。

¶省く

locales と options の使用

配列の要素は、その toLocaleString メソッドを使用して文字列に変換されます:

prices 配列内の文字列と数値の通貨を常に表示します:

var prices = ['¥7', 500, 8123, 12];
D=prices.toLocaleString('ja-JP', {style:'currency', currency:'JPY'}); //="¥7,¥500,¥8,123,¥12"

さらに多くの例を知りたいなら、 Intlオブジェクト や Intl.NumberFormatIntl.DateTimeFormat ページを見てください。

var number = 123456.789;

// 通貨形式をリクエスト
D=number.toLocaleString('de-DE', { style:'currency', currency:'EUR' }); //="123.456,79 €"
D=number.toLocaleString('ja-JP', { style:'currency', currency:'JPY' }); //="¥123,457"。日本円には副単位がない

// 有効桁数を 3 桁に制限
D=number.toLocaleString('en-IN', { maximumSignificantDigits:3 }); //="1,23,000"
// 数値の書式化にホストの既定の言語とオプションを使用する
var num = 30000.65;
D=num.toLocaleString(undefined, {minimumFractionDigits:2, maximumFractionDigits:2});
//="30,000.65"。英語がデフォルトの場合、又は、
//="30.000,65"。ドイツ語がデフォルトの場合、又は、
//="30 000,65"。フランス語がデフォルトの場合
P=[500, 8123, 12, "1500", "del"];
D=P.toLocaleString('ja-JP', {style:'currency', currency:'JPY'}); //="¥500,¥8,123,¥12,1500,del"

テスト