NumberFormatter : champ d’application, global
L’API NumberFormatter inclut 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 région, les utilisateurs peuvent afficher les numéros comme prévu. Par exemple, si les paramètres régionaux sont fr (français), une valeur fournie sous la forme 100.00 renvoie la valeur 100,00.
Formateur de numéro – format (numéro numéro)
Renvoie une représentation de chaîne d’un nombre formaté 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(numéro, numéro, chaîne, langue)
Retourne une représentation sous forme de chaîne d’un nombre formaté en fonction de la langue transmise en 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é en fonction de la langue passée en paramètre. |
L’exemple suivant montre la sortie pour le réglage de la 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 en 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é au même format.
Cette méthode analyse la chaîne jusqu’à ce qu’elle atteigne un caractère qu’elle ne reconnaît pas comme une valeur numérique ou un 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 pays ISO-3166 à deux caractères. |
| Type | Description |
|---|---|
| Numéro | Numéro analysé au format régional spécifié. 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 divers 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 de caractères, 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
NumberFormatter : parseWithSeparators(numéro de chaîne, regroupement de chaînesSéparateur, chaîne decimalSeparator)
Analyse et renvoie un nombre à partir d’une chaîne de texte transmise, en parcourant de gauche à droite, jusqu’à ce qu’il rencontre un caractère qu’il ne peut pas analyser. Les valeurs analysables comprennent les nombres et les regroupements et les séparateurs décimaux spécifiés.
| 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 ». |
| de 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