toString
toStringは、配列を[要素,要素,・・・]の形で文字列に変換します。
var ary = ["a", "r", "r", "a", "y"];
var str = ary.toString();
// 配列なのかの確認
console.log("ary : " + Array.isArray(ary));
console.log("str : " + Array.isArray(str));
ary : true
str : false
toLocaleString
toLocaleStringは、指定したロケールにあわせて配列を[要素,要素,・・・]の形で文字列に変換します。
toLocaleString() //ロケールとオプションなし
toLocaleString(locales) //ロケールのみ指定
toLocaleString(locales, options) //ロケールとオプション指定
var ary = [100000, 200000, 300000];
console.log("toLocaleString : " + ary.toLocaleString());
console.log("言語の変換 : " + ary.toLocaleString('ja-JP'));
console.log("単位を付ける : " + ary.toLocaleString('ja-JP', { style: 'currency', currency: 'JPY' }));
toLocaleString : 100,000,200,000,300,000
言語の変換 : 100,000,200,000,300,000
単位を付ける : ¥100,000,¥200,000,¥300,000
locales
localesは、配列を任意の言語に変換できます。
種類はたくさんありますが、webブラウザによって表示できないものがあるので代表的なものを載せておきます。
var ary = [100000];
console.log("アラビア : " + ary.toLocaleString('ar-EG'));
console.log("インド : " + ary.toLocaleString('en-IN'));
console.log("中国 : " + ary.toLocaleString('zh-Hans-CN-u-nu-hanidec'));
console.log("日本語 : " + ary.toLocaleString('ja-JP'));
console.log("ドイツ : " + ary.toLocaleString('de-DE'));
アラビア : ١٠٠٬٠٠٠
インド : 1,00,000
中国 : 一〇〇,〇〇〇
日本語 : 100,000
ドイツ : 100.000
toLocaleString(options)
style
styleは、使用する通貨フォーマットのスタイルを指定します。
var ary = [100,200,300];
var currency = { style:'currency', currency:'JPY'}
var percent = { style:'percent', currency:'JPY'}
var decimal = { style:'decimal', currency:'JPY'}
console.log("currency(¥) : " + ary.toLocaleString('ja-JP', currency));
console.log("percent(%) : " + ary.toLocaleString('ja-JP', percent));
console.log("decimal(デフォルト) : " + ary.toLocaleString('ja-JP', decimal));
currency(¥) : ¥100,¥200,¥300
percent(%) : 10,000%,20,000%,30,000%
decimal(デフォルト) : 100,200,300
currency
currencyは、通貨フォーマットで使用する通貨記号を指定します。
JPY //日本円
CNY //中国円
USD //USドル
EUR //ユーロ
var ary = [1000,2000,3000];
var jpy = {style: 'currency', currency: 'JPY'}
var cny = {style: 'currency', currency: 'CNY'}
var usd = {style: 'currency', currency: 'USD'}
var eur = {style: 'currency', currency: 'EUR'}
console.log("JPY : " + ary.toLocaleString('ja-JP', jpy))
console.log("CNY : " + ary.toLocaleString('zh-Hans-CN-u-nu-hanidec', cny))
console.log("USD : " + ary.toLocaleString('de-DE', usd))
console.log("EUR : " + ary.toLocaleString('de-DE', eur))
JPY : ¥1,000,¥2,000,¥3,000
CNY : ¥一,〇〇〇.〇〇,¥二,〇〇〇.〇〇,¥三,〇〇〇.〇〇
USD : 1.000,00 $,2.000,00 $,3.000,00 $
EUR : 1.000,00 €,2.000,00 €,3.000,00 €
currencyDisplay
currencyDisplayは、通貨フォーマットをどのように表示するのかを指定します。
symbol //¥のような通貨シンボル
code //ISOの通貨コード
name //円のような通貨名
var ary = [100,200,300]
var symbol = {style:'currency', currency:'JPY', currencyDisplay:'symbol'}
var iso = {style:'currency', currency:'JPY', currencyDisplay:'code'}
var name = {style:'currency', currency:'JPY', currencyDisplay:'name'}
console.log("通貨シンボル : " + ary.toLocaleString('ja-JP', symbol))
console.log("ISOの通貨コード : " + ary.toLocaleString('ja-JP', iso))
console.log("通貨名 : " + ary.toLocaleString('ja-JP', name))
通貨シンボル : ¥100,¥200,¥300
ISOの通貨コード : JPY 100,JPY 200,JPY 300
通貨名 : 100円,200円,300円
useGrouping
桁区切りを使用するか否かを指定します。
localesをインド(en-IN)に指定した場合は[lakh/crore/arawb]というインド式の桁区切りになります。
※デフォルトはtrue
useGrouping:true //桁区切りあり
useGrouping:false //桁区切りなし
var ary = [10000000000]
// [桁区切りあり]
console.log("[日本] : " + ary.toLocaleString('ja-JP', {useGrouping: true}))
console.log("[インド] : " + ary.toLocaleString('en-IN', {useGrouping: true}))
// [桁区切りなし]
console.log("桁区切り(なし) : " + ary.toLocaleString('en-IN', {useGrouping: false}))
[日本] : 10,000,000,000
[インド] : 10,00,00,00,000
桁区切り(なし) : 10000000000
minimumIntegerDigits
使用する整数桁数の、最小数を指定します。
小数点第3位まで表示し、それ以下の数値は四捨五入されます。
※デフォルトは1 指定可能な値は1~21
var ary = [1234.56789]
console.log("7の場合 : " + ary.toLocaleString('ja-JP', {minimumIntegerDigits: 7}))
console.log("2の場合 : " + ary.toLocaleString('ja-JP', {minimumIntegerDigits: 2}))
7の場合 : 0,001,234.568
2の場合 : 1,234.568
minimumFractionDigits
使用する小数桁数の、最小数を指定します。
小数点第3位まで表示し、それ以下の小数桁数は四捨五入されます。
var ary = [1234.567,0.0012345]
console.log("6の場合 : " + ary.toLocaleString('ja-JP', {minimumFractionDigits: 6}))
console.log("2の場合 : " + ary.toLocaleString('ja-JP', {minimumFractionDigits: 2}))
6の場合 : 1,234.567000,0.001235
2の場合 : 1,234.567,0.001
maximumFractionDigits
使用する小数桁の、最大数を指定します。
指定以下の小数桁数は四捨五入されます。
※使用可能な値は、0~20
var ary = [1234.56789]
console.log("4の場合 : " + ary.toLocaleString('ja-JP', {maximumFractionDigits: 4}))
console.log("3の場合 : " + ary.toLocaleString('ja-JP', {maximumFractionDigits: 3}))
console.log("2の場合 : " + ary.toLocaleString('ja-JP', {maximumFractionDigits: 2}))
4の場合 : 1,234.5679
3の場合 : 1,234.568
2の場合 : 1,234.57
minimumSignificantDigits
使用する有効桁数の最小値を指定します。
※指定可能な値は1~21で、デフォルト値は1
var ary = [1234.56789]
console.log(ary.toLocaleString('ja-JP', {minimumSignificantDigits: 11}))
1,234.5678900
maximumSignificantDigits
使用する有効桁数の最大値を指定します。
指定以下は四捨五入されます。
※指定可能な値は1~21で、デフォルト値はminimumSignificantDigits
var ary = [1234.5678,0.0012345]
console.log("11の場合 : " + ary.toLocaleString('ja-JP', {maximumSignificantDigits: 11}))
console.log("4の場合 : " + ary.toLocaleString('ja-JP', {maximumSignificantDigits: 4}))
console.log("2の場合 : " + ary.toLocaleString('ja-JP', {maximumSignificantDigits: 2}))
11の場合 : 1,234.5678,0.0012345
4の場合 : 1,235,0.001235
2の場合 : 1,200,0.0012