Compartilhar via


Decimal, Floate Value funções

Functions Aplica-se a
Decimal
Float
Copilot Studio Desktop flui colunas de fórmula do Dataverse CLI funções do Dataverse
Value Aplicativos de tela O Copilot Studio Desktop flui colunas de fórmula do Dataverse para aplicativos controlados por modelos do Power Platform CLI Dataverse functions Power Pages

Converte uma sequência de texto ou outros tipos em um número.

Descrição

Observação

O Power Apps só dá suporte à Value função e retorna um Float valor. O suporte para as Decimal funções e Float as funções será adicionado em breve.

Use o Decimal, Floate Value as funções para converter uma cadeia de caracteres de texto que contém caracteres numéricos em um valor numérico. Use essa função quando você precisar realizar cálculos em números inseridos como texto por um usuário. Essas funções também podem ser usadas para converter outros tipos em um número, como data/hora e booleano.

A Value função retornará o tipo de dados numérico padrão para o host power fx que você está usando, que geralmente Decimal é e a melhor opção 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 esses tipos de dados, consulte a seção Números de Tipos de dados.

Linguagens diferentes interpretam , e . de maneiras distintas. Por padrão, o texto é interpretado no idioma do usuário atual. Você pode especificar o idioma a ser usado com uma marca de idioma, usando as mesmas marcas de idioma retornadas pela função Language.

Observações sobre o formato da cadeia de caracteres:

  • A cadeia de caracteres pode ser prefixada com o símbolo de moeda para o idioma atual. O símbolo de moeda é ignorado. Símbolos de moeda de outros idiomas não são ignorados.
  • A cadeia de caracteres pode incluir um sinal de porcentagem (%) no final, indicando que é uma porcentagem. O número será dividido por 100 antes de retornar. Porcentagens e símbolos de moeda não podem ser combinados.
  • A cadeia de caracteres pode ser em notação científica, com 12 x 103 expresso como "12e3".

Se o número não estiver no formato adequado, essas funções retornarão um erro.

Para converter valores de data e hora, use as funções DateValue, TimeValue ou DateTimeValue.

Sintaxe

Decimal( Cadeia de caracteres [, LanguageTag ] )
Float( Cadeia de caracteres [, LanguageTag ] )
Value( Cadeia de caracteres [, LanguageTag ] )

  • String - Obrigatório. Cadeia de caracteres para converter em um valor numérico.
  • LanguageTag - Opcional. A marca de idioma na qual analisar a cadeia de caracteres. Se não for especificada, o idioma do usuário atual será utilizado.

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 provedor sem tipo. Para JSON, espera-se que o valor dinâmico seja um número JSON, booliano ou texto que possa ser convertido em um número. Lembre-se de que os formatos relacionados à localidade são considerações importantes ao se comunicar com sistemas externos.

Exemplos

O usuário que executa essas fórmulas está localizado nos Estados Unidos e selecionou o inglês como idioma. A função Language está retornando "en-US". O host do Power Fx usa Decimal por padrão.

Value e Decimal

Já que estamos usando um host que tem Decimal como padrão Value e Decimal retornará os mesmos resultados.

Fórmula Descrição Result
Value( "123.456" )
Decimal( "123.456" )
O idioma padrão de "en-US", que usa um ponto como separador decimal, será usado. 123.456 (Decimal)
Value( "123,456", "es-ES" )
Decimal( "123,456", "es-ES" )
"es-ES" é a marca de idioma para espanhol da Espanha. Na Espanha, um ponto é um separador de milhares. 123456 (Decimal)
Value( "123,456" )
Decimal( "123,456" )
O idioma padrão de "en-US", que usa uma vírgula como separador de milhares, será usado. 123456 (Decimal)
Value( "123.456", "es-ES" )
Decimal( "123.456", "es-ES" )
"es-ES" é a marca de idioma para espanhol da Espanha. Na Espanha, uma vírgula é o separador decimal. 123.456 (Decimal)
Value( "12,34%" )
Decimal( "12,34%" )
O sinal de porcentagem no final da cadeia de caracteres indica que esta é uma porcentagem. 0,1234 (Decimal)
Value( "$ 12,34" )
Decimal( "$ 12,34" )
O símbolo de moeda do idioma atual é ignorado. 12.34 (Decimal)
Value( "24e3" )
Decimal( "24e3" )
Notação científica para 24 x 103. 24000 (Decimal)
Value( true )
Decimal( true )
Converte um booliano em um número, 0 para falso e 1 para verdadeiro 1 Decimal

Float

A Float função terá muito próximo dos mesmos resultados acima. Como 123.456 não pode ser representado Floatcom precisão, o resultado é uma aproximação muito próxima (123,45600000000000003069544618484E2) e a composição de cálculos de erros de arredondamento pode resultar em um resultado inesperado. Em vez disso, o tipo resultante será Float .

As coisas divergem se números maiores ou menores forem usados.

Fórmula Descrição Result
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 ) Mesmo problema da 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 caracteres de texto está dentro do intervalo e da precisão de um Decimal número. 100000000000.0000000001 (Decimal)