---
sourceDocument: Referência de API do Xanadu
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/pt-BR/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - pt-BR

ft:publication_title :

    - Referência de API do Xanadu

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# NumberFormatter - com escopo, global

# NumberFormatter - com escopo, global {#ariaid-title1}

* Versão de lançamento: Xanadu
* 
* Atualizado 1 de ago. de 2024
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 4 min. de leitura

A API NumberFormatter inclui métodos que retornam números formatados de acordo com o idioma do usuário atual.

Esta API está disponível em apps com escopo e globais e é executada no namespace sn_i18n.

Quando formatados por idioma ou localidade, os usuários podem exibir os números conforme o esperado. Por exemplo, se a localidade for fr (francês), um valor fornecido como 100.00 retornará como 100,00.

## NumberFormatter -- format(Número número) {#ariaid-title2}

Retorna uma representação de cadeia de caracteres de um número formatado de acordo com a configuração de idioma do usuário atual.
{#NumFormat-format_N__table_nfz_slb_jxb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| número | Número | Número de qualquer tamanho. |
[Tabela 1. Parâmetros]

{#NumFormat-format_N__table_nfz_slb_jxb} {#NumFormat-format_N__table_ofz_slb_jxb__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Número formatado de acordo com a configuração de idioma do usuário atual. |
[Tabela 2. Retorna]

{#NumFormat-format_N__table_ofz_slb_jxb}  
O exemplo a seguir mostra os resultados retornados para um usuário com o idioma definido como espanhol.

    gs.info("Number is: " + sn_i18n.NumberFormatter.format(123456.789));
    gs.info("Number is: " + sn_i18n.NumberFormatter.format(-123456.789));

Saída:

    Number is: 123.456,789
    Number is: -123.456,789

## NumberFormatter -- formatLang(Número numérico, Idioma da cadeia de caracteres) {#ariaid-title3}

Retorna uma representação de cadeia de caracteres de um número formatado de acordo com o idioma passado como um parâmetro.
{#NumFormat-formatLang_N_S__table_nfz_slb_jxb__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| número | Número | Número de qualquer tamanho. |
| idioma | Cadeia de caracteres | Marcador de idioma em conformidade com IETF BCP-47. |
[Tabela 3. Parâmetros]

{#NumFormat-formatLang_N_S__table_nfz_slb_jxb} {#NumFormat-formatLang_N_S__table_ofz_slb_jxb__entry__2}

| Tipo | Descrição |
|-|-|
| Cadeia de caracteres | Número formatado de acordo com o idioma passado como um parâmetro. |
[Tabela 4. Retorna]

{#NumFormat-formatLang_N_S__table_ofz_slb_jxb}  
O exemplo a seguir mostra a saída para a configuração de idioma alemão.

    gs.info("Number is: " + sn_i18n.NumberFormatter.formatLang(123456.789, "de-de"));
    gs.info("Number is: " + sn_i18n.NumberFormatter.formatLang(-123456.789, "de-de"));

Saída:

    Number is: 123.456,789
    Number is: -123.456,789

## NumberFormatter - parseWithLocale(cadeia de caracteres número, idioma da cadeia de caracteres, país da cadeia de caracteres) {#ariaid-title4}

Analisa um número de uma cadeia de caracteres de texto passada, da esquerda para a direita, para extrair o valor numérico. Em seguida, ele usa os códigos de país e idioma aprovados para identificar a localidade do número e retorna o número analisado nesse formato.
Este método analisa a cadeia de caracteres até que ela atinja um caractere que não reconhece como um valor numérico ou um separador de moeda.
{#NumFormat-parseWLocale_S_S_S__table_hmy_qgc_fbc__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| número | Cadeia de caracteres | Cadeia de caracteres a ser analisada. Esta cadeia de caracteres pode conter valores numéricos e separadores de moeda, como vírgulas e pontos decimais. Por exemplo: `"24,506.55"` ou `"45.677,89"`. |
| idioma | Cadeia de caracteres | Código de idioma ISO-639 de dois caracteres. |
| país | Cadeia de caracteres | Código de país ISO-3166 de dois caracteres. |
[Tabela 5. Parâmetros]

{#NumFormat-parseWLocale_S_S_S__table_hmy_qgc_fbc} {#NumFormat-parseWLocale_S_S_S__table_imy_qgc_fbc__entry__2}

| Tipo | Descrição |
|-|-|
| Número | Número analisado no formato da localidade especificada. Lança uma exceção se o primeiro caractere da cadeia de caracteres não puder ser analisado. Por exemplo: * "123,34": analisa até 123,34, desde que o separador decimal de localidade seja um ponto. * "1.234,56": analisa até 1234,56, desde que o separador de agrupamento de localidades seja uma vírgula e o separador decimal seja um ponto. * "1.234.567,89": se o separador de agrupamento não for um ponto, será analisado como 1. * "123x456": analisa até 123. * "text123": faz com que o método emita um "ParseException". {#NumFormat-parseWLocale_S_S_S__ul_nsz_2kf_gbc} |
[Tabela 6. Retorna]

{#NumFormat-parseWLocale_S_S_S__table_imy_qgc_fbc}  
O exemplo de código a seguir demonstra a análise de cadeias de caracteres para várias localidades, bem como a análise de uma cadeia de caracteres com separadores inesperados. O último exemplo analisa apenas parcialmente a cadeia de caracteres porque um espaço não é um separador válido.

    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);

Saída:

    48837.77
    77931.22
    562339.89
    400

## NumberFormatter - parseWithSeparators(cadeia de caracteres número, agrupamento de cadeias de caracteresSeparator, cadeia de caracteres decimalSeparator) {#ariaid-title5}

Analisa e retorna um número de uma cadeia de caracteres de texto passada, percorrendo da esquerda para a direita, até encontrar um caractere que não pode ser analisado. Os valores analisáveis incluem números e o agrupamento especificado e os separadores decimais.
{#NumFormat-parseWSeparators_S_S_S__table_o4b_rgf_gbc__entry__3}

| Nome | Tipo | Descrição |
|-|-|-|
| número | Cadeia de caracteres | Cadeia de caracteres a ser analisada. Esta cadeia de caracteres pode conter valores numéricos e os separadores especificados, como vírgulas e pontos decimais. Por exemplo: `"24,506.55"` ou `"45.677,89"`. |
| agrupamentoSeparador | Cadeia de caracteres | Caractere que denota o separador de agrupamento, também conhecido como separador de milhares, na cadeia de caracteres passada. Por exemplo: vírgula ",", ponto "." ou espaço " ". |
| decimalSeparator | Cadeia de caracteres | Caractere que denota o separador decimal na cadeia de caracteres passada. Por exemplo: vírgula ",", ponto "." ou espaço " ". |
[Tabela 7. Parâmetros]

{#NumFormat-parseWSeparators_S_S_S__table_o4b_rgf_gbc} {#NumFormat-parseWSeparators_S_S_S__table_p4b_rgf_gbc__entry__2}

| Tipo | Descrição |
|-|-|
| Número | Número analisado. Lança uma exceção se o primeiro caractere da cadeia de caracteres não puder ser analisado. Por exemplo: * "123,34": analisa até 123,34, desde que o separador decimal de localidade seja um ponto. * "1.234,56": analisa até 1234,56, desde que o separador de agrupamento de localidades seja uma vírgula e o separador decimal seja um ponto. * "1.234.567,89": se o separador de agrupamento não for um ponto, será analisado como 1. * "123x456": analisa até 123. * "text123": faz com que o método emita um "ParseException". {#NumFormat-parseWSeparators_S_S_S__ul_nsz_2kf_gbc} |
[Tabela 8. Retorna]

{#NumFormat-parseWSeparators_S_S_S__table_p4b_rgf_gbc}  
O exemplo de código a seguir mostra como analisar números usando vários separadores. Observe que o exemplo de análise final analisa somente os três primeiros dígitos do número, já que um espaço não é um separador válido.

    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);

Saída:

    48837.77
    77931.22
    562339.89
    400


