Intl.PluralRules() コンストラクター
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2019.
* Some parts of this feature may have varying levels of support.
Intl.PluralRules()
コンストラクターは Intl.PluralRules
オブジェクトを作成します。
構文
new Intl.PluralRules();
new Intl.PluralRules(locales);
new Intl.PluralRules(locales, options);
引数
locales
省略可-
BCP 47 言語タグの文字列、またはそのような文字列の配列です。
locales
引数の一般的な形式と解釈ついては、 Intl のページを参照してください。 options
省略可-
以下のプロパティの全部または一部を持つオブジェクトです。
localeMatcher
-
使用するロケールの照合アルゴリズムです。指定可能な値は "
lookup
" および "best fit
" で、既定値は "best fit
" です。このオプションの詳細は、 Intl のページを参照してください。 type
-
使用する種別です。指定可能な値は次の通りです。
- "
cardinal
" は基数です(物の数量を表します)。これが既定値です。 - "
ordinal
" は序数です(物事の順序や順位を表します。たとえば英語では "1st", "2nd", "3rd" です)。
- "
以下のプロパティは 2 つのグループに分けられます。
minimumIntegerDigits
,minimumFractionDigits
,maximumFractionDigits
が 1 つのグループで、minimumSignificantDigits
とmaximumSignificantDigits
がもう一方です。第 2 のグループから 1 つでもプロパティが定義されると、第 1 のグループは無視されます。minimumIntegerDigits
-
使用する整数部の最小桁数です。取りうる値は 1 から 21 までです。既定値は 1 です。
minimumFractionDigits
-
使用する小数部の最小桁数です。取りうる値は 0 から 20 までです。通常の数とパーセントの形式の既定値は 0 です。通貨形式の既定値は、 ISO 4217 通貨コードリストで提供される下位単位の桁数です(リストに情報がない場合は 2 です)。
maximumFractionDigits
-
使用する小数部の最大桁数です。取りうる値は 0 から 20 までです。通常の数の形式では既定値は
minimumFractionDigits
と 3 の大きい方です。通貨形式の既定値は、minimumFractionDigits
と ISO 4217 通貨コードリストで提供される下位単位の桁数(リストに情報がない場合は 2)の大きい方です。パーセント形式の既定値は、minimumFractionDigits
と 0 の大きい方です。 minimumSignificantDigits
-
使用する有効数字の最小桁数です。使用可能な値は 1 から 21 までです。既定値は 1 です。
maximumSignificantDigits
-
使用する有効数字の最大桁数です。使用可能な値は 1 から 21 までです。既定値は 21 です。
例
基本的な使い方
ロケールを指定しない基本的な使い方では、既定のロケールと既定のオプションで書式化された文字列が返されます。これは、例えば "dog" と "dogs" のように単数形と複数形を区別するのに便利です。
var pr = new Intl.PluralRules();
pr.select(0);
// → 'other' (アメリカ英語のロケールの場合)
pr.select(1);
// → 'one' (アメリカ英語のロケールの場合)
pr.select(2);
// → 'other' (アメリカ英語のロケールの場合)
options の使用
引数 options
には type
というプロパティがあり、ordinal
に設定することで結果をカスタマイズすることができます。これは、例えば "1st", "2nd", "3rd", "4th", "42nd" などのように、序数を把握するのに便利です。
var pr = new Intl.PluralRules("en-US", { type: "ordinal" });
const suffixes = new Map([
["one", "st"],
["two", "nd"],
["few", "rd"],
["other", "th"],
]);
const formatOrdinals = (n) => {
const rule = pr.select(n);
const suffix = suffixes.get(rule);
return `${n}${suffix}`;
};
formatOrdinals(0); // '0th'
formatOrdinals(1); // '1st'
formatOrdinals(2); // '2nd'
formatOrdinals(3); // '3rd'
formatOrdinals(4); // '4th'
formatOrdinals(11); // '11th'
formatOrdinals(21); // '21st'
formatOrdinals(42); // '42nd'
formatOrdinals(103); // '103rd'
仕様書
Specification |
---|
ECMAScript® 2025 Internationalization API Specification # sec-intl-pluralrules-constructor |
ブラウザーの互換性
BCD tables only load in the browser