NumberFormatter : délimité, global

  • Rversion finale: Australia
  • Mis à jour 12 mars 2026
  • 4 minutes de lecture
  • 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.

    Tableau 1. Paramètres
    Nom Type Description
    Numéro Numéro Nombre de n’importe quelle taille.
    Tableau 2. Renvoie
    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.

    Tableau 3. Paramètres
    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.
    Tableau 4. Renvoie
    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.

    Tableau 5. Paramètres
    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.
    Tableau 6. Renvoie
    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 :
    • « 123,34 » : Analyse à 123,34 tant que le séparateur décimal local est un point.
    • « 1 234,56 » : analyse jusqu’à 1234,56 tant que le séparateur de regroupement de paramètres régionaux est une virgule et que le séparateur décimal est un point.
    • « 1.234.567,89 » : Si le séparateur de regroupement est autre chose qu’un point, analyse à 1.
    • « 123x456 » : Analyse à 123.
    • « text123 » : Entraîne la levée d’une ParseException par la méthode.

    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.

    Tableau 7. Paramètres
    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 « ».

    Tableau 8. Renvoie
    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 :
    • « 123,34 » : Analyse à 123,34 tant que le séparateur décimal local est un point.
    • « 1 234,56 » : analyse jusqu’à 1234,56 tant que le séparateur de regroupement de paramètres régionaux est une virgule et que le séparateur décimal est un point.
    • « 1.234.567,89 » : Si le séparateur de regroupement est autre chose qu’un point, analyse à 1.
    • « 123x456 » : Analyse à 123.
    • « text123 » : Entraîne la levée d’une ParseException par la méthode.

    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