NumberFormatter : délimité, global
L’API NumberFormatter comprend des méthodes qui renvoient des nombres formatés en fonction de la langue de l’utilisateur actuel.
Cette API est disponible dans les applications incluses dans le périmètre et globales et s’exécute dans l’espace de noms sn_i18n .
Lorsqu’ils sont formatés par langue ou par paramètres régionaux, les utilisateurs peuvent afficher les nombres comme prévu. Par exemple, si le paramètre régional est fr (français), une valeur fournie comme 100,00 renvoie comme 100,00.
NumberFormatter – format(Number number)
Renvoie une représentation de chaîne d’un nombre formatée en fonction du paramètre de langue de l’utilisateur actuel.
| Nom | Type | Description |
|---|---|---|
| Numéro | Numéro | Nombre de n’importe quelle taille. |
| Type | Description |
|---|---|
| Chaîne | Numéro formaté en fonction du paramètre de langue de l’utilisateur actuel. |
L’exemple suivant montre les résultats de retour pour un utilisateur dont la langue est définie sur l’espagnol.
gs.info("Number is: " + sn_i18n.NumberFormatter.format(123456.789));
gs.info("Number is: " + sn_i18n.NumberFormatter.format(-123456.789));
Sortie :
Number is: 123.456,789
Number is: -123.456,789
NumberFormatter – formatLang(Number, Number, String language)
Renvoie une représentation de chaîne d’un nombre formaté selon la langue transmise en tant que paramètre.
| Nom | Type | Description |
|---|---|---|
| Numéro | Numéro | Nombre de n’importe quelle taille. |
| language | Chaîne | Balise de langue conforme à la norme IETF BCP-47. |
| Type | Description |
|---|---|
| Chaîne | Nombre formaté selon la langue transmise en paramètre. |
L’exemple suivant montre la sortie pour le paramètre de langue allemande.
gs.info("Number is: " + sn_i18n.NumberFormatter.formatLang(123456.789, "de-de"));
gs.info("Number is: " + sn_i18n.NumberFormatter.formatLang(-123456.789, "de-de"));
Sortie :
Number is: 123.456,789
Number is: -123.456,789
NumberFormatter : parseWithLocale(Numéro de chaîne, Langue de la chaîne, Pays de la chaîne)
Analyse un nombre à partir d’une chaîne de texte transmise, de gauche à droite, pour extraire la valeur numérique. Il utilise ensuite les codes de pays et de langue transmis pour identifier les paramètres régionaux du numéro et renvoie le numéro analysé dans ce format.
Cette méthode analyse la chaîne jusqu’à ce qu’elle atteigne un caractère qu’elle ne reconnaît pas comme valeur numérique ou séparateur de devise.
| Nom | Type | Description |
|---|---|---|
| Numéro | Chaîne | Chaîne à analyser. Cette chaîne peut contenir des valeurs numériques et des séparateurs de devise tels que des virgules et des décimales. Par exemple : « 24 506,55 » ou « 45 677 89 ». |
| language | Chaîne | Code de langue ISO-639 à deux caractères. |
| pays | Chaîne | Code de pays ISO-3166 à deux caractères. |
| Type | Description |
|---|---|
| Numéro | Numéro analysé au format des paramètres régionaux spécifiés. Lève une exception si le premier caractère de la chaîne ne peut pas être analysé. Par exemple :
|
L’exemple de code suivant illustre l’analyse de chaînes pour différents paramètres régionaux, ainsi que l’analyse d’une chaîne avec des séparateurs inattendus. Le dernier exemple n’analyse que partiellement la chaîne car un espace n’est pas un séparateur valide.
var x = sn_i18n.NumberFormatter.parseWithLocale("48,837.77", "en", "US");
var y = sn_i18n.NumberFormatter.parseWithLocale("77.931,22", "de", "DE");
var z = sn_i18n.NumberFormatter.parseWithLocale("562 339,89", "fr", "FR");
var specialCase = sn_i18n.NumberFormatter.parseWithLocale("400 797,67", "en", "US");
gs.info(x);
gs.info(y);
gs.info(z);
gs.info(specialCase);
Sortie :
48837.77
77931.22
562339.89
400
Formateur de numéro : parseWithSeparators(Numéro de chaîne, String groupingSeparator, String decimalSeparator)
Analyse et renvoie un nombre à partir d’une chaîne de texte transmise, de gauche à droite, jusqu’à ce qu’il rencontre un caractère qu’il ne peut pas analyser. Les valeurs analysables comprennent des nombres et le regroupement spécifié et les séparateurs décimaux.
| Nom | Type | Description |
|---|---|---|
| Numéro | Chaîne | Chaîne à analyser. Cette chaîne peut contenir des valeurs numériques et les séparateurs spécifiés tels que des virgules et des décimales. Par exemple : « 24 506,55 » ou « 45 677 89 ». |
| regroupementséparateur | Chaîne | Caractère qui désigne le séparateur de regroupement, également connu sous le nom de séparateur de milliers, dans la chaîne transmise. Par exemple : virgule « , », point « . » ou espace « ». |
| decimalSeparator | Chaîne | Caractère qui désigne le séparateur décimal dans la chaîne transmise. Par exemple : virgule « , », point « . » ou espace « ». |
| Type | Description |
|---|---|
| Numéro | Nombre analysé. Lève une exception si le premier caractère de la chaîne ne peut pas être analysé. Par exemple :
|
L’exemple de code suivant montre comment analyser des nombres à l’aide de différents séparateurs. Notez que l’exemple d’analyse final n’analyse que les trois premiers chiffres du nombre, car un espace n’est pas un séparateur valide.
var x = sn_i18n.NumberFormatter.parseWithSeparators('48,837.77', ',', '.');
var y = sn_i18n.NumberFormatter.parseWithSeparators('77.931,22', '.', ',');
var z = sn_i18n.NumberFormatter.parseWithSeparators('562 339,89', ' ', ',');
var specialCase = sn_i18n.NumberFormatter.parseWithSeparators('400 797,67', '.', ',');
gs.info(x);
gs.info(y);
gs.info(z);
gs.info(specialCase);
Sortie :
48837.77
77931.22
562339.89
400