# Num# - Função de script e de gráfico

Num#() interpreta uma string de texto como um valor numérico, ou seja, converte a string de entrada em um número usando o formato especificado no segundo parâmetro. Se o segundo parâmetro for omitido, ele usará os separadores decimais e de milhar definidos no script de carregamento de dados. Símbolos de separadores decimais e de milhar personalizados são parâmetros opcionais.

Sintaxe:

Num#(text[, format[, dec\_sep [, thou\_sep ] ] ])

Tipo de dados de retorno: dual

A função Num#() retorna um valor duplo como a string e o valor numérico. A função usa a representação textual da expressão de entrada e gera um número. Ela não altera o formato do número; a saída é formatada da mesma forma que a entrada.

Argumentos

| Argumento | Descrição |
| --- | --- |
| text | A string de texto a ser avaliada. |
| format | String que especifica o formato de número usado no primeiro parâmetro. Se omitida, os separadores decimais e de milhar definidos no script de carregamento de dados serão usados.<br><br>A função `Num#` aceita muitas opções de formato para diferentes estruturas numéricas, por exemplo:<br><br>`#,##0`: ​exibe um número sem casas decimais.<br><br>`#,##0.00`: ​exibe um número com duas casas decimais.<br><br>`##0.00%`: exibe um número como uma porcentagem com duas casas decimais.<br><br>`​#,##0;(#,##0)`: formata números negativos para que apareçam entre parênteses.<br><br>`$#,##0.00`: formata os números como moeda com o símbolo $.<br><br>`​0.00E+0`: exibe números em notação científica. |
| dec\_sep | String especificando o separador de número decimal. Se omitida, o valor da variável DecimalSep definido no script de carregamento de dados será usado.<br><br>A função `Num#` é compatível com muitos formatos de separadores decimais de números, por exemplo:<br><br>Vírgula ​' `,` ': por exemplo, `$1,000,00` para mil dólares.<br><br>Ponto ' `.` ':​ por exemplo, `€ 1,000.00`.<br><br>Hífen ' `-` ': quando usado no lugar do ponto tradicional ou da vírgula como separador decimal, mostra valores como `¥1,000-00`.<br><br>​Para obter mais informações, consulte [DecimalSep](https://help.qlik.com/pt-BR/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/DecimalSep.htm). |
| thou\_sep | String especificando o separador de número milhar. Se omitida, o valor da variável ThousandSep definido no script de carregamento de dados será usado.<br><br>A função `Num#` oferece suporte a várias opções para o separador de milhares de números:<br><br>Ponto ' `.` ': usa um ponto para o separador de milhares (comum em alguns formatos europeus), exibido como `$1.000,00` se combinado com um separador decimal com vírgula.<br><br>Espaço ​' ': usa um espaço para o separador de milhares, o que é comum em alguns países europeus. É exibido como `€ 1 000.00`.<br><br>Sublinhado ​'`_`':​ usa um sublinhado para o separador de milhares, que às vezes é usado em formatos técnicos ou regionais específicos. Exibe valores como `$1_000.00`.<br><br>​Para obter mais informações, consulte [ThousandSep](https://help.qlik.com/pt-BR/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/NumberInterpretationVariables/ThousandSep.htm). |

Exemplo: expressões de gráfico

| Exemplo | Resultados (valor de String retornado) |
| --- | --- |
| `Num#( '35,648.31', '#', '.' , ',' )` | Retorna a string `35,648.31` e o valor numérico de `35648.31`. |
| `Num#( ‘35 648.312’, '#', '.' , ',' )` | Retorna a string `35 648.312` e o valor numérico de `35648.312`. |
| `Num#( '35.648,3123', '#', '.' , ',' )` | Retorna a string `35.648,3123` e o valor numérico de ` NULL  `(`-`). |
| `Num#( '35 648,31234', '#', '.' , ',' )` | Retorna a string `35 648,31234` e o valor numérico de ` NULL  `(`-`). |
| `Num#('1,234.56', '#,##0.00')` | Retorna a string `1,234.56` e o valor numérico de `1230.45`. |
| `Num#('$1,230.45', '$#,##0.00')` | Retorna a string `$1,230.45` e o valor numérico de `1234.56`. |
| `Num#('20220315', 'YYYYMMDD')` | Retorna a string `20220315` e o valor numérico de `20220315`. |

## Exemplo – Fundamentos de Num\#

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/InterpretationFunctions/num_hash.htm)

#### Script de carregamento

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados que é carregado em uma tabela de dados denominada `Example`.

* Os campos a seguir na tabela de dados:

  * `ProductID`

  * `ProductName`

  * `SalesAmount`

* As configurações padrão para `ThousandSep` e `DecimalSep` para ilustrar este exemplo.

* Um carregamento anterior que usa a função `Num#`. Quando executado, ele cria um campo adicional chamado `FormattedSalesAmount`.

Script de carregamento

```
SET ThousandSep=',';
SET DecimalSep='.';
Example:
LOAD
ProductID,
ProductName,
SalesAmount,
Num#(SalesAmount, '#.##0,00',',','.') AS FormattedSalesAmount
INLINE [
ProductID, ProductName, SalesAmount
1, Product A, '1.234,56'
2, Product B, '2.456,78'
3, Product C, '345,67'
4, Product D, '987,12'
5, Product E, '1.200,45'
];
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* ` ProductID
                                       `

* `ProductName`

* `SalesAmount`

* `FormattedSalesAmount`

Crie a seguinte medida:

* `=Num(FormattedSalesAmount)` para visualizar o valor numérico do campo de acordo com as configurações do sistema para o formato de número.

Results table

| ProductID | ProductName | SalesAmount | FormattedSalesAmount | Num(FormattedSalesAmount) |
| --- | --- | --- | --- | --- |
| 1 | Product A | 1.234,56 | 1.234,56 | 1234.56 |
| 2 | Product B | 2.456,78 | 2.456,78 | 2456.78 |
| 3 | Product C | 345,67 | 345,67 | 345.67 |
| 4 | Product D | 987,12 | 987,12 | 987.12 |
| 5 | Product E | 1.200,45 | 1.200,45 | 1200.45 |

Neste exemplo, você pode observar como a função `Num#` converte os dados de `SalesAmount` de seu formato original de texto em um valor numérico.

## Exemplo – Cenário de Num\#

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/InterpretationFunctions/num_hash.htm)

#### Script de carregamento

Visão geral

Um conjunto de dados contém dados de vendas de vários países em diferentes formatos de texto. Queremos padronizar os dados e exibi-los em uma tabela.

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados que é carregado em uma tabela de dados denominada `Example`.

* Os campos a seguir na tabela de dados:

  * `Country`

  * `Product`

  * `Amount`

* Um carregamento anterior que usa a função `Num#` para converter os valores no campo `Amount`.

Script de carregamento

```
Example:
LOAD
Country,
Product,
IF(Country = 'Germany', Num#(Amount, '#.##0,00', ',', '.'), Num#(Amount, '#,##0.00')) AS Amount
INLINE [
Country, Product, Amount
Germany, Product A, '1.234,56'
USA, Product B, '2,345.78'
Germany, Product C, '987,12'
USA, Product D, '1,200.45'
Germany, Product E, '345,67'
];
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* ` Product
                                       `

* ` Country
                                       `

* `Amount`

Crie a seguinte medida:

* `Num(Amount)` para visualizar o valor numérico do campo `Amount` conforme definido nas configurações do sistema para o formato numérico.

Results table

| Product | Country | Amount | Num(Amount) |
| --- | --- | --- | --- |
| Customer A | Germany | 1.234,56 | 1234.56 |
| Customer B | USA | 2,345.78 | 2345.78 |
| Customer C | Germany | 987,12 | 987.12 |
| Customer D | USA | 1,200.45 | 1200.45 |
| Customer E | Germany | 345,67 | 345.67 |

Ao comparar a coluna `Amount` com a coluna `Num(Amount)`, voccê vê que os dados apresentados por meio da função`  Num# ` alteram os valores numéricos subjacentes, mas mantêm o formato da cadeia de caracteres como está. Por exemplo, todos os valores de `Germany` na coluna `Amount` usam uma vírgula como separador decimal, mas o formato subjacente em `Num(Amount)` usa um ponto final para todos os valores.