MDN wants to talk to developers like you: https://qsurvey.mozilla.com/s3/8d22564490d8

Intl.NumberFormat

この翻訳は不完全です。英語から この記事を翻訳 してください。

概要

言語に敏感な数値フォーマットを有効にするオブジェクトのコンストラクタです。

構文

new Intl.NumberFormat([locales[, options]])
Intl.NumberFormat.call(this[, locales[, options]])

引数

locales

任意。BCP47言語タグをもつ文字列、または、そのような文字列の配列。locales引数の一般的な形式と解釈のために、Intl pageを確かめて下さい。次のUnicode拡張キーが受け入れられます。:

nu
番号方式。可能な値は以下のとおりです。: "arab", "arabext", "bali", "beng", "deva", "fullwide", "gujr", "guru", "hanidec", "khmr", "knda", "laoo", "latn", "limb", "mlym", "mong", "mymr", "orya", "tamldec", "telu", "thai", "tibt"
options

オプション。次のプロパティの一部またはすべてを持つオブジェクト。:

localeMatcher
使用するローケルマッチングアルゴリズム。可能な値は"lookup""best fit"です。デフォルトは "best fit"です。このオプションについては、Intl pageを確かめて下さい。
style
使用するフォーマットスタイル。可能な値は、簡単な数値フォーマットに対しては"decimal"、通貨のフォーマットに対しては"currency"、パーセントのフォーマットに対しては"percent"。デフォルトは"decimal"です。
currency
通貨のフォーマットで使用する通貨。可能な値は、米ドルに対して"USD"、ユーロに対して"EUR"、中国人民元に対して"CNY"のように、ISO 4217 通貨コードです。Current currency & funds code listを確かめて下さい。デフォルト値はありません。すなわち、style"currency"の場合、currencyプロパティは必須です。
currencyDisplay
通貨のフォーマットでの通貨を表示する方法。可能な値は、€のようにローカライズされた通貨シンボルを使用するための"symbol"、ISO通貨コードを使用するための"code""dollar"のようにローカライズされた通貨名を使用するための"name"です。デフォルトは、"symbol"です。
useGrouping
桁区切りや千/ラーク/クローセパレーターのように、グルーピングセパレータを使用するかどうか。可能な値はtruefalseです。デフォルトはtrueです。

次のプロパティは、2つのグループに分類されます。: minimumIntegerDigitsminimumFractionDigitsmaximumFractionDigitsで1グループ、 minimumSignificantDigitsmaximumSignificantDigitsで、もう1グループ。第2番目のグループから少なくとも一つのプロパティが定義された場合、最初のグループは無視されます。

minimumIntegerDigits
使用している整数の最小桁数。可能な値は、1から21までです。デフォルトは、1です。
minimumFractionDigits
使用している小数の桁数の最小値。可能な値は、0から20までです。プレーン数値フォーマットやパーセントフォーマットに対するデフォルトは、0です。通貨フォーマットに対するデフォルトは、ISO 4217 currency code list(そのリストに、その情報が掲載されていない場合は、2です)によって与えられる軽微な単位の桁数です。。
maximumFractionDigits
使用している小数の桁数の最大値。可能な値は0から20までです。; プレーン数値フォーマットに対するデフォルトは、minimumFractionDigitsと3のうち大きい方です。通貨フォーマットに対するデフォルトは、minimumFractionDigitsISO 4217 currency code list(そのリストに、その情報が掲載されていない場合は、2です)によって与えられる軽微な単位の桁数のうち大きい方です。パーセントフォーマットに対するデフォルトは、minimumFractionDigitsと0のうち大きい方です。
minimumSignificantDigits
使用している有効桁数の最小値。可能な値は1から21です。デフォルトは1です。
maximumSignificantDigits
使用している有効桁数の最大値。可能な値は、1から21までです。デフォルトは、minimumSignificantDigitsです。

説明

プロパティ

Intl.NumberFormat.prototype
すべてのオブジェクトにプロパティを追加できます。

メソッド

Intl.NumberFormat.supportedLocalesOf()
実行時のデフォルトロケールにフォールバックすることなく、サポートされて提供されるロケールのものを含む配列を返します。

NumberFormat インスタンス

プロパティ

NumberFormat インスタンスはプロトタイプから次のプロパティを継承します。:

Intl.NumberFormat.prototype.constructor
A reference to Intl.NumberFormat.
Intl.NumberFormat.prototype.format
Getter; returns a function that formats a number according to the locale and formatting options of this NumberFormat object.

メソッド

NumberFormat インスタンスはプロトタイプから次のメソッドを継承します。:

Intl.NumberFormat.prototype.resolvedOptions()
Returns a new object with properties reflecting the locale and collation options computed during initialization of the object.

例: 基本的な使用法

ローケルを指定しない基本的な使用で、デフォルトローケルとデフォルトオプションでフォーマットされた文字列が返されます。

var number = 3500;

console.log(new Intl.NumberFormat().format(number));
// → '3,500' if in US English locale

例: localesを使う

この例では、ローカライズ数値フォーマットの変形例のうちのいくつかを示しています。アプリケーションのユーザインターフェイスで使用される言語の形式を得るために、locales引数を使用して、その言語(や、おそらくいくつかのフォールバック言語)を指定してください。:

var number = 123456.789;

// German uses comma as decimal separator and period for thousands
console.log(new Intl.NumberFormat('de-DE').format(number));
// → 123.456,789

// Arabic in most Arabic speaking countries uses real Arabic digits
console.log(new Intl.NumberFormat('ar-EG').format(number));
// → ١٢٣٤٥٦٫٧٨٩

// India uses thousands/lakh/crore separators
console.log(new Intl.NumberFormat('en-IN').format(number));
// → 1,23,456.789

// the nu extension key requests a numbering system, e.g. Chinese decimal
console.log(new Intl.NumberFormat('zh-Hans-CN-u-nu-hanidec').format(number));
// → 一二三,四五六.七八九

// when requesting a language that may not be supported, such as
// Balinese, include a fallback language, in this case Indonesian
console.log(new Intl.NumberFormat(['ban', 'id']).format(number));
// → 123.456,789

例: optionsを使う

その結果はoptions引数を使用してカスタマイズできます。:

var number = 123456.789;

// request a currency format
console.log(new Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(number));
// → 123.456,79 €

// the Japanese yen doesn't use a minor unit
console.log(new Intl.NumberFormat('ja-JP', { style: 'currency', currency: 'JPY' }).format(number));
// → ¥123,457

// limit to three significant digits
console.log(new Intl.NumberFormat('en-IN', { maximumSignificantDigits: 3 }).format(number));
// → 1,23,000

仕様

仕様 状況 コメント
ECMAScript Internationalization API 1.0 (ECMA-402)
The definition of 'Intl.NumberFormat' in that specification.
Standard 初期定義。

ブラウザ実装状況

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
基本サポート 24 29 (29) 11 15 未サポート
機能 Android Chrome for Android Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile
基本サポート 未サポート 26 未サポート
バグ 864843
未サポート 未サポート 未サポート

関連情報

ドキュメントのタグと貢献者

 このページの貢献者: shide55, Mingun
 最終更新者: shide55,