Funcións decimal, flotante e de valor
Aplícase a: Aplicacións de lenzo Dataverse columnas de fórmulas Fluxos de escritorio Aplicacións baseadas en modelos Power Pages Power Platform CLI
Converte unha cadea de texto ou outros tipos nun número.
Descripción
Nota
Power Apps só admite a función Valor e devolve un valor Float . En breve engadirase compatibilidade coas funcións Decimal e Float .
Use o Decimal, Float e Valor funcións para converter unha cadea de texto que contén caracteres numéricos nun valor numérico. Use estas funcións cando necesite realizar cálculos en números que foron introducidos como texto por un usuario. Estas funcións tamén se poden usar para converter outros tipos nun número, como data/hora e booleano.
A función Valor devolverá o tipo de datos numéricos predeterminado para o Power Fx anfitrión que está a usar, que normalmente é Decimal e a mellor opción para a maioría das situacións. Use as funcións Decimal e Float cando necesite un tipo de datos específico para un escenario concreto, como un científico cálculo cun número moi grande. Para obter máis información sobre como traballar con estes tipos de datos, consulta a sección Números de Tipos de datos.
Os distintos idiomas interpretan , e . de xeito diferente. Por defecto, o texto interprétase no idioma do usuario actual. Pode especificar o idioma a empregar cunha etiqueta de idioma, empregando as mesmas etiquetas de idioma que devolve a función Language.
Notas sobre o formato da cadea:
- A cadea pode estar prefixada co símbolo da moeda para o idioma actual. O símbolo da moeda ignórase. Os símbolos de moeda doutros idiomas non se ignoran.
- A cadea pode incluír un signo de porcentaxe (%) ao final, o que indica que é unha porcentaxe. O número dividirase por 100 antes de ser devolto. Non se poden mesturar porcentaxes e símbolos de moeda.
- A cadea pode estar en notación científica, con 12 x 103 expresado como "12e3".
Se o número non está nun formato axeitado, estas funcións devolverán un erro.
Para converter valores de data e hora, use as funcións DateValue, TimeValue ou DateTimeValue.
Sintaxe
Decimal( Cadea [, LanguageTag ] )
Flotante( Cadea [, LanguageTag ] )
Valor( Cadea [, LanguageTag ] )
- Cadena - Obrigatorio. Cadea á que converter un valor numérico.
- LanguageTag - Opcional. Etiqueta de idioma na que analizar a cadea. Se non se especifica, úsase o idioma do usuario actual.
Decimal( Sen escribir )
Flotante( Sen escribir )
Valor( Sen escribir )
- Sen escribir - Obrigatorio. obxecto sen tipo que representa un número. Os valores aceptables dependen do provedor non tipificado. Para JSON, espérase que o obxecto sen tipo sexa un número JSON, booleano ou texto que se poida converter nun número. Teña en conta que os formatos relacionados coa rexión son consideracións importantes cando se comunica con sistemas externos.
Exemplos
O usuario que administra estas fórmulas está situado nos Estados Unidos e seleccionou o inglés como idioma. A función Language devolve "en-US". O Power Fx anfitrión usa Decimal de forma predeterminada.
Valor e decimal
Dado que estamos a usar un servidor que ten Decimal por defecto, Valor e Decimal devolverá os mesmos resultados.
Fórmula | Descripción | Resultado |
---|---|---|
Valor("123.456") Decimal("123.456") |
Utilizarase o idioma predefinido de "en-US", que usa un punto como separador decimal. | 123.456 (Decimal) |
Valor( "123.456", "es-ES") Decimal( "123.456", "es-ES") |
"es-ES" é a etiqueta de idioma para o español de España. En España, un punto é o separador de miles. | 123456 (Decimal) |
Valor("123.456") Decimal("123.456") |
Utilizarase o idioma predefinido de "en-US", que usa unha coma como separador de miles. | 123456 (Decimal) |
Valor( "123.456", "es-ES") Decimal( "123.456", "es-ES") |
"es-ES" é a etiqueta de idioma para o español de España. En España, unha coma é o separador decimal. | 123.456 (Decimal) |
Valor ("12,34 %) Decimal("12,34%") |
O signo porcentual ao final da cadea indica que se trata dunha porcentaxe. | 0,1234 (Decimal) |
Valor ("$ 12,34") Decimal("$ 12,34") |
Ignórase o símbolo da moeda para o idioma actual. | 12.34 (Decimal) |
Valor("24e3") Decimal("24e3") |
Notación científica para 24 x 103. | 24000 (Decimal) |
Valor (verdadeiro) Decimal (verdadeiro) |
Converte un booleano nun número, 0 para false e 1 para true | 1 Decimal |
Float
A función Float terá moi preto dos mesmos resultados que a anterior. Dado que 123.456 non se pode representar con precisión en Float, o resultado é unha aproximación moi próxima ((123.456000000000003069544618484E2) e os cálculos de erros de redondeo combinados poden producir un resultado inesperado. O tipo resultante será Float .
Onde as cousas diverxen é se se usan números maiores ou menores.
Fórmula | Descripción | Resultado |
---|---|---|
Flotador (1e100) | Dado que o número literal 1e100 está fóra do intervalo de a Decimal, isto provoca un erro antes de chamar a Float función. |
erro (desbordamento) |
Decimal (1e100) | O mesmo problema que coa función Float . | erro (desbordamento) |
Float("1e100") | O número da cadea de texto está dentro do intervalo de Números flotantes . | 1e100 Flotar |
Decimal("1e100") | O número da cadea de texto está fóra do intervalo de números decimais . | erro (desbordamento) |
Float("10000000000.0000000001") | O número da cadea de texto está dentro do intervalo de Números flotantes . Non obstante, o número require máis precisión da que pode proporcionar un Float e truncarase. | 1 (Float) |
Decimal( "10000000000.0000000001") | O número da cadea de texto está dentro do intervalo e da precisión dos números a Decimal . | 10000000000.0000000001 (Decimal) |