new Intl.NumberFormat()【コンストラクタ】

メモ

構文

  • new Intl.NumberFormat ([ locales [, options ]])

  • locales:BCP 47 の言語タグの文字列 または 配列 (省略:デフォルトのロケール)
    説明
    ja日本語
    ja-JP日本語 (日本)
    en-US英語 (アメリカ)
    en-GB英語 (イギリス)
    de-DEドイツ語 (ドイツ)
    fr-FRフランス語 (フランス)
    以下の Unicode 拡張 数値フォーマット をサポート (-u-nu- …)
    説明コード
    arabアラビア・インド数字٩ ~ ٠U+0660 ~ U+0669
    arabextペルシア数字۰ ~ ۹U+06F0 ~ U+06F9
    baliバリ数字U+1B50 ~ U+1B59
    bengベンガル数字০ ~ ৯U+09E6 ~ U+09EF
    devaデーヴァナーガリー数字० ~ ९U+0966 ~ U+096F
    fullwide全角数字0 ~ 9U+FF10 ~ U+FF19
    gujrグジャラート数字૦ ~ ૯U+0AE6 ~ U+0AEF
    guruグルムキー数字੦ ~ ੯U+0A66 ~ U+0A6F
    hanidec漢数字〇 ~ 九 U+3007, U+4E00, U+4E8C, U+4E09, U+56DB,
    U+4E94, U+516D, U+4E03, U+516B, U+4E5D
    khmrクメール数字០ ~ ៩U+17E0 ~ U+17E9
    kndaカンナダ数字೦ ~ ೯U+0CE6 ~ U+0CEF
    laooラオ数字໐ ~ ໙U+0ED0 ~ U+0ED9
    latn算用数字 (アラビア数字)0 ~ 9U+0030 ~ U+0039
    limbリンブ数字U+1946 ~ U+194F
    mlymマラヤーラム数字൦ ~ ൯U+0D66 ~ U+0D6F
    mongモンゴル数字᠐ ~ ᠙U+1810 ~ U+1819
    mymrミャンマー数字၀ ~ ၉U+1040 ~ U+1049
    oryaオリヤー数字뙦 ~ 뙯U+0B66 ~ U+0B6F
    tamldecタミル数字௦ ~ ௯U+0BE6 ~ U+0BEF
    teluテルグ数字౦ ~ ౯U+0C66 ~ U+0C6F
    thaiタイ数字๐ ~ ๙U+0E50 ~ U+0E59
    tibtチベット数字༠ ~ ༩U+0F20 ~ U+0F29
  • options:オプション
    オプション値 (太字:デフォルト値)説明
    localeMatcherlookup:Lookupアルゴリズム
    best fit:最適アルゴリズム
    ロケールマッチングアルゴリズム
    styledecimal:10進数
    percent:パーセント
    currency:通貨
    スタイル
    currency通貨コード 通貨コード (ISO 4217: Wikipedia)
    JPY・USD・EUR 等
    currencyDisplaycode:ISO通貨コード
    symbol:通貨シンボル
    name:通貨名
    通貨の表示方法
    minimumIntegerDigits1 ~ 21整数部の最小桁数
    minimumFractionDigits0 ~ 20小数部の最小桁数
    maximumFractionDigitsminimumFractionDigits ~ 20小数部の最大桁数
    minimumSignificantDigits1 ~ 21最小有効桁数
    maximumSignificantDigitsminimumSignificantDigits ~ 21最大有効桁数
    useGroupingtrue:使用
    false:未使用
    桁区切り等の使用有無

Intl.NumberFormat【国際化数値フォーマット】 オブジェクト

var num = 123456.789
var nf = new Intl.NumberFormat();
console.log(nf.format(num));
// 出力:123,456.789

nf = new Intl.NumberFormat("ja-JP", { useGrouping:false, minimumIntegerDigits:9, minimumFractionDigits:4 });
console.log(nf.format(num));
// 出力:000123456.7890

nf = new Intl.NumberFormat("ja-JP", { style:'percent' });
console.log(nf.format(0.50));
// 出力:50%

nf = new Intl.NumberFormat("ja-JP", { style:'currency', currency:'JPY' });
console.log(nf.format(num));
// 出力:¥123,457

nf = new Intl.NumberFormat("en-US", { style:'currency', currency:'USD' });
console.log(nf.format(num));
// 出力:$123,456.79

nf = new Intl.NumberFormat("de-DE", { style:'currency', currency:'EUR' });
console.log(nf.format(num));
// 出力:123.456,79 €

nf = new Intl.NumberFormat("fr-FR", { style:'currency', currency:'EUR' });
console.log(nf.format(num));
// 出力:123 456,79 €

nf = new Intl.NumberFormat("ja-JP-u-nu-hanidec", { style:'currency', currency:'JPY', minimumFractionDigits:4 });
console.log(nf.format(num));
// 出力:¥一二三,四五六.七八九〇

nf = new Intl.NumberFormat("ja-JP", { style:"currency", currency:"JPY", currencyDisplay:'name' });
console.log(nf.format(num));
// 出力:123,457円

// ゼロパディング
var maxsize = 8;
var code = 12345;
nf = new Intl.NumberFormat("ja-JP", { useGrouping:false, minimumIntegerDigits:maxsize });
console.log(nf.format(code));
// 出力:00012345

関連