Intl.Locale.prototype.numeric
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2020.
La propriété Intl.Locale.prototype.numeric
est une propriété fournie par un accesseur et qui indique si la locale possède une collation spécifique pour les caractères numériques (la collation étant la méthode qui permet d'ordonner des chaînes de caractères entre elles).
Description
À l'instar de Intl.Locale.caseFirst
, numeric
représente une modification des règles de collation utilisée par la locale. numeric
est un booléen (true
ou false
). Lorsque cette propriété vaut false
, il n'y a pas de gestion particulière des chiffres et si cette propriété vaut true
, cela indique que les caractères numériques sont pris en compte lors de la collation des chaînes. Ainsi, les séquences de chiffres décimaux seront comparés comme des nombres. Ainsi, la chaîne de caractères "A-21"
sera considérée inférieure à "A-123"
.
Exemples
Définir numeric
grâce à la chaîne de description de la locale
Selon la spécification Unicode sur les chaînes de caractères décrivant les locales, les valeurs de numeric
sont associées à la clé kn
. Pour utiliser cette clé dans la chaîne de description de la locale (le premier argument de Intl.Locale
), après la chaîne de base, on pourra ajouter un suffixe avec "-u"
afin d'indiquer la présence d'une extension, puis "-kn"
afin de préciser l'extension en question et enfin la valeur souhaitée pour cette extension. Si on veut que numeric
soit true
, il suffit d'ajouter la clé kn
. Pour indiquer la valeur false
, il faudra explicitement ajouter "-false"
.
let numericViaStr = new Intl.Locale("fr-Latn-FR-u-kn-false");
console.log(numericStr.numeric);
// Affichera "false" dans la console
Définir numeric
via l'objet de configuration de l'instance
Le constructeur Intl.Locale
possède un deuxième argument, optionnel, qui est un objet permettant de configurer la locale. Les propriétés de cet objet sont utilisées comme extensions pour la locale ; les clés des propriétés sont les noms des extensions et leurs valeurs sont celles utilisées pour chaque extension. On peut donc utiliser la propriété numeric
sur cet objet afin de définir le système de numération à utiliser pour cette locale.
let numericViaObj = new Intl.Locale("en-Latn-US", { numeric: true });
console.log(us12hour.numeric);
// Affichera "true" dans la console
Spécifications
Specification |
---|
ECMAScript Internationalization API Specification # sec-Intl.Locale.prototype.numeric |
Compatibilité des navigateurs
BCD tables only load in the browser