Intl.Locale.prototype.numeric

Intl.Locale.prototype.numeric プロパティは、ロケールが特別な数字の照合処理を行うかどうかを返すアクセサプロパティです。

解説

Intl.Locale.caseFirst と同様、 numeric はロケールが使用する照合規則を変更するものです。 numericBoolean 値で、 truefalse のどちらかになります。 numericfalse に設定した場合は、文字列内の数値を特別に扱うことはありません。 numerictrue に設定した場合は、ロケールは文字列を照合する際に数値を考慮します。この数値の特別な扱いとは、数字の並びを数値として比較するということです。例えば、 "A-21" という文字列は "A-123" よりも小さいとみなされます。

ロケール文字列から numeric の値を設定

Unicode ロケール文字列仕様書では、 numeric が表す値はキー kn に対応しています。 kn はロケール文字列の「拡張サブタグ」とみなされます。これらのサブタグは、ロケールに関する追加データを追加するもので、拡張キー -u を使用してロケール識別子に追加されます。このようして、 numeric の値を Locale コンストラクターに渡される初期のロケール識別子文字列に追加することができます。 numeric の値を設定するには、まず文字列に -u 拡張キーを追加します。次に、 -kn 拡張キーを追加して、 numeric の値を追加していることを示します。最後に、文字列に numeric の値を追加します。 numerictrue に設定したい場合は、単に kn キーを追加するだけで十分です。値を false にするには、 kn キーの後に "false" を指定する必要があります。

let numericViaStr = new Intl.Locale("fr-Latn-FR-u-kn-false");
console.log(numericStr.numeric); // "false" と表示

構成オブジェクト引数から numeric の値を設定

Intl.Locale コンストラクターには、オプションで構成オブジェクトの引数があり、これを使用して拡張の種類を渡すことができます。構成オブジェクトの numeric プロパティを任意の numeric に設定し、コンストラクターに渡します。

let numericViaObj= new Intl.Locale("en-Latn-US", {numeric: true});
console.log(us12hour.numeric); // "true" と表示

仕様書

仕様書
ECMAScript Internationalization API (ECMA-402)

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイルサーバー
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung InternetNode.js
numericChrome 完全対応 74Edge 完全対応 79Firefox 完全対応 75IE 未対応 なしOpera 完全対応 62Safari 未対応 なしWebView Android 完全対応 74Chrome Android 完全対応 74Firefox Android 未対応 なしOpera Android 完全対応 53Safari iOS 未対応 なしSamsung Internet Android 完全対応 11.0nodejs 未対応 なし

凡例

完全対応  
完全対応
未対応  
未対応

関連情報