Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
| Funções | Aplica-se a |
|---|---|
| Decimal Float |
|
| Value |
|
Converte uma cadeia de texto ou de outros tipos num número.
Descrição
Nota
O Power Apps suporta apenas a Value função e devolve um Float valor. O suporte para as Decimal funções e Float será adicionado em breve.
Use as Decimalfunções , Floate para Value converter uma cadeia de caracteres de texto que contém caracteres numéricos em um valor numérico. Utilize estas funções quando necessitar de efetuar cálculos em números que foram introduzidos como texto por um utilizador. Estas funções também podem ser utilizadas para converter outros tipos num número, como data/hora e booleano.
A Value função retornará o tipo de dados numéricos padrão para o host Power Fx que você está usando, que geralmente Decimal é a melhor escolha para a maioria das situações. Use as Decimal funções e Float quando precisar de um tipo de dados específico para um cenário específico, como um cálculo científico com um número muito grande. Para obter mais detalhes sobre como trabalhar com estes tipos de dados, consulte a secção Números de Tipos de dados.
Vários idiomas interpretam , e . de forma diferente. Por predefinição, o texto é interpretado no idioma do utilizador atual. Pode especificar o idioma a utilizar com uma etiqueta de idioma ao utilizar as mesmas etiquetas de idioma que são devolvidas pela função Language.
Notas sobre o formato da cadeia:
- A cadeia poderá ser antecedida pelo símbolo de moeda do idioma atual. O símbolo de moeda é ignorado. Não são ignorados os símbolos de moeda de outros idiomas.
- A cadeia poderá incluir um sinal de percentagem (%) no final, a indicar que é uma percentagem. O número será dividido por 100 antes de ser devolvido. Não é possível misturar percentagens e símbolos de moeda.
- A cadeia poderá estar em notação científica, com 12 x 103 expresso como "12e3".
Se o número não estiver num formato adequado, estas funções devolverão um erro.
Para converter valores de data e hora, utilize as funções DateValue, TimeValue ou DateTimeValue.
Sintaxe
Decimal( String [, LanguageTag ] )
Float( String [, LanguageTag ] )
Value( String [, LanguageTag ] )
- string - obrigatório. Cadeia a converter num valor numérico.
- LanguageTag - Opcional. A etiqueta do idioma no qual pretende analisar a cadeia. Se não for especificado, será utilizado o idioma do utilizador atual.
Decimal( Dinâmico )
Float( Dinâmico )
Value( Dinâmico )
- Dinâmico - Obrigatório. Valor dinâmico que representa um número. Os valores aceitáveis dependem do fornecedor sem tipo. Para JSON, espera-se que o valor dinâmico seja um número JSON, booleano ou texto que possa ser convertido em um número. Tenha em atenção que os formatos relacionados com a região são considerações importantes ao comunicar com sistemas externos.
Exemplos
O utilizador que executa estas fórmulas encontra-se nos Estados Unidos e selecionou inglês como idioma. A função Language está a devolver "en-US". O host Power Fx usa Decimal por padrão.
Value e Decimal
Uma vez que estamos usando um host que tem Decimal como padrão, Value e Decimal retornará os mesmos resultados.
| Fórmula | Descrição | Resultado |
|---|---|---|
|
Value( "123.456" ) Decimal( "123.456" ) |
Será utilizado o idioma predefinido de "en-US", que utiliza um ponto como separador decimal. | 123.456 (Decimal) |
|
Value( "123.456", "es-ES" ) Decimal( "123.456", "es-ES" ) |
"es-ES" é a etiqueta de idioma para o espanhol de Espanha. Em Espanha, a vírgula é o separador dos milhares. | 123456 (Decimal) |
|
Value( "123,456" ) Decimal( "123,456" ) |
Será utilizado o idioma predefinido de "en-US", que utiliza uma vírgula como separador de milhares. | 123456 (Decimal) |
|
Value( "123.456", "es-ES" ) Decimal( "123.456", "es-ES" ) |
"es-ES" é a etiqueta de idioma para o espanhol de Espanha. Em Espanha, a vírgula é o separador decimal. | 123.456 (Decimal) |
|
Value( "12.34%" ) Decimal( "12.34%" ) |
O símbolo de percentagem no fim da cadeia indica que se trata de uma percentagem. | 0,1234 (Decimal) |
|
Value(R$ 12,34) Decimal(R$ 12,34) |
O símbolo de moeda do idioma atual é ignorado. | 12.34 (Decimal) |
|
Value( "24e3" ) Decimal( "24e3" ) |
Notação científica de 24 x 103. | 24000 (Decimal) |
|
Value( verdadeiro ) Decimal( verdadeiro ) |
Converte um booleano num número, 0 para false e 1 para true | 1 Decimal |
Float
A Float função terá muito perto dos mesmos resultados acima. Como 123.456 não pode ser representado com precisão no Float, o resultado é uma aproximação muito próxima (123.4560000000000003069544618484E2) e os cálculos de erros de arredondamento podem resultar em um resultado inesperado. O tipo resultante será Float , em vez disso.
Onde existe divergência é se são utilizados números maiores ou menores.
| Fórmula | Descrição | Resultado |
|---|---|---|
| Float( 1e100 ) | Como o número 1e100 literal está além do intervalo de um Decimal, isso resulta em um erro antes de chamar a Float função. |
erro (estouro) |
| Decimal( 1e100 ) | O mesmo problema que com a Float função. | erro (estouro) |
| Float( "1e100" ) | O número na cadeia de texto está dentro do intervalo de Float números. | 1e100 Float |
| Decimal( "1e100" ) | O número na cadeia de texto está além do intervalo de Decimal números. | erro (estouro) |
| Float( "10000000000.0000000001" ) | O número na cadeia de texto está dentro do intervalo de Float números. No entanto, o número requer mais precisão do que um Float pode fornecer e será truncado. | 1 (Float) |
| Decimal( "10000000000.0000000001" ) | O número na cadeia de texto está dentro do intervalo e da precisão de um Decimal número. | 10000000000.0000000001 (Decimal) |