Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Intl.Locale : propriété numeric

Baseline Large disponibilité

Cette fonctionnalité est bien établie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis septembre 2020.

La propriété d'accesseur numeric des instances de Intl.Locale indique si cette locale possède une gestion spéciale des caractères numériques lors de la collation.

Description

À l'instar de caseFirst, numeric représente une modification des règles de collation utilisées par la locale. numeric est une valeur booléenne, ce qui signifie qu'elle peut être soit true, soit false. Si numeric est défini sur false, il n'y aura pas de gestion spéciale des valeurs numériques dans les chaînes de caractères. Si numeric est défini sur true, alors la locale prendra en compte les caractères numériques lors de la collation des chaînes de caractères. Cette gestion spéciale des nombres signifie que les séquences de chiffres décimaux seront comparées comme des nombres. Par exemple, la chaîne de caractères « A-21 » sera considérée comme inférieure à « A-123 ».

La valeur de la propriété numeric est définie lors de la construction, soit par la clé kn de l'identifiant de locale, soit par l'option numeric du constructeur Intl.Locale(). Cette dernière prend le pas si les deux sont présentes ; et si aucune n'est présente, la propriété a pour valeur undefined.

Le mutateur d'accesseur de numeric est undefined. Vous ne pouvez pas modifier cette propriété directement.

Exemples

Comme pour les autres sous-balises de locale, la valeur numeric peut être ajoutée à l'objet Intl.Locale soit par la chaîne de caractères de la locale, soit par un objet de configuration passé au constructeur.

Ajouter une valeur numeric par le biais de la chaîne de caractères de la locale

Dans la spécification des chaînes de caractères de locale Unicode (angl.), numeric est une « sous-balise d'extension ». Ces sous-balises ajoutent des informations supplémentaires sur la locale et sont ajoutées aux identifiants de locale en utilisant la clé d'extension -u. Pour ajouter la valeur numeric à l'identifiant de locale initial passé au constructeur Intl.Locale(), ajoutez d'abord la clé d'extension -u si elle n'existe pas. Ensuite, ajoutez l'extension -kn pour indiquer que vous ajoutez une valeur pour numeric. Enfin, ajoutez la valeur numeric. Si vous voulez définir numeric sur true, il suffit d'ajouter la clé kn. Pour définir la valeur sur false, vous devez définir "false" après la clé kn.

js
const locale = new Intl.Locale("fr-Latn-FR-u-kn-false");
console.log(locale.numeric); // "false"

Ajouter une valeur numeric par le biais de l'objet de configuration

Le constructeur Intl.Locale() accepte un argument optionnel de type objet de configuration, qui peut contenir plusieurs types d'extensions, y compris numeric. Définissez la propriété numeric de l'objet de configuration sur la valeur numeric souhaitée, puis passez-le au constructeur.

js
const locale = new Intl.Locale("en-Latn-US", { numeric: true });
console.log(locale.numeric); // "true"

Spécifications

Spécification
ECMAScript® 2027 Internationalization API Specification
# sec-Intl.Locale.prototype.numeric

Compatibilité des navigateurs

Voir aussi