Comparteix a través de


Funcions decimals, flotants i de valor

S'aplica a: Columnes de fórmules Dataverse d'aplicacions de llenç Fluxos d'escriptori CLI d'aplicacions Power Pages Power Platform basades en models

Converteix una cadena de text o altres tipus en un número.

Descripció

Nota

Power Apps només admet la funció Value i retorna un valor Float . El suport per a les funcions Decimal i Float s'afegirà aviat.

Utilitzeu les funcions Decimal, Flotant i Valor per convertir una cadena de text que conté caràcters numèrics en un valor numèric. Utilitzeu aquestes funcions quan necessiteu fer càlculs en números que un usuari ha introduït com a text. Aquestes funcions també es poden utilitzar per convertir altres tipus en un número, com ara data/hora i booleà.

La funció Valor retornarà el tipus de dades numèriques predeterminat per a l'equip Power Fx que esteu utilitzant, que sol ser decimal i la millor opció per a la majoria de situacions. Utilitzeu les funcions Decimal i Float quan necessiteu un tipus de dades específic per a un escenari concret, com ara un càlcul científic amb un nombre molt gran. Per obtenir més informació sobre com treballar amb aquests tipus de dades, vegeu la secció Números de Tipus de dades.

En funció de la llengua, s'interpreta , i . diferent. Per defecte, el text s'interpreta en la llengua de l'usuari actual. Podeu especificar la llengua que voleu utilitzar amb una etiqueta de llengua, amb les mateixes etiquetes de llengua que retorna la funció Language.

Notes del format de la cadena:

  • La cadena es pot prefixar amb el símbol monetari de la llengua actual. El símbol monetari s'ignora. Els símbols de moneda d'altres idiomes no s'ignoren.
  • La cadena pot incloure un signe de percentatge (%) al final, indicant que és un percentatge. El nombre es dividirà entre 100 abans de retornar-lo. Els percentatges i els símbols de moneda no es poden barrejar.
  • La cadena pot estar en notació científica, amb 12 x 103 expressat com a "12e3".

Si el número no té el format adequat, aquestes funcions retornaran un error.

Per convertir els valors de data i hora, utilitzeu les funcions DateValue, TimeValue o DateTimeValue.

Sintaxi

Decimal( Cadena [, LanguageTag ] )
Float( Cadena [, LanguageTag ] )
Valor( Cadena [, LanguageTag ] )

  • Cadena : obligatòria. Cadena que es convertirà en un valor numèric.
  • LanguageTag - Opcional. L'etiqueta de llengua amb la qual s'analitzarà la cadena. Si no s'especifica, s'utilitza la llengua de l'usuari actual.

Decimal ( sense tipus )
Flotant ( sense escriptura )
Valor( sense escriure )

  • Sense escrit : obligatori. objecte sense tipusque representa un nombre. Els valors acceptables depenen del proveïdor sense tipus. Per a JSON, s'espera que l'objecte sense tipus sigui un número JSON, booleà o text que es pot convertir en un número. Tingueu en compte que els formats relacionats amb la configuració regional són consideracions importants quan es comunica amb sistemes externs.

Exemples

L'usuari que executa aquestes fórmules està situat als Estats Units i ha seleccionat anglès com a llengua. La funció Language torna "en-US". L'equip Power Fx utilitza Decimal per defecte.

Valor i decimal

Com que estem utilitzant un equip que té Decimal com a valor predeterminat, Value i Decimal retornaran els mateixos resultats.

Fórmula Descripció Resultat
Valor( "123.456")
Decimal( "123.456" )
S'utilitzarà la llengua per defecte "en-US", que utilitza un punt com a separador decimal. 123.456 (decimal)
Valor( "123.456", "es-ES" )
Decimal( "123.456", "es-ES" )
"es-ES" és l'etiqueta de llengua per a espanyol d'Espanya. A Espanya, un punt és un separador de milers. 123456 (decimal)
Valor( "123,456" )
Decimal( "123,456" )
S'utilitzarà la llengua per defecte "en-US", que utilitza una coma com a separador de milers. 123456 (decimal)
Valor( "123,456", "es-ES" )
Decimal( "123,456", "es-ES" )
"es-ES" és l'etiqueta de llengua per a espanyol d'Espanya. A Espanya, una coma és el separador decimal. 123.456 (decimal)
Valor( "12,34%")
Decimal( "12.34%" )
El signe de percentatge al final de la cadena indica que es tracta d'un percentatge. 0,1234 (decimal)
Valor ( "$ 12.34" )
Decimal ( "$ 12.34" )
S'ignora el símbol monetari per a la llengua actual. 12,34 (decimal)
Valor( "24e3" )
Decimal( "24e3" )
Notació científica per a 24 x 103. 24000 (decimal)
Valor( cert )
Decimal( true )
Converteix un booleà en un nombre, 0 per a fals i 1 per a cert 1 decimal

Float

La funció Float tindrà els mateixos resultats que l'anterior. Com que 123.456 no es pot representar amb precisió a Float, el resultat és una aproximació molt propera (123.456000000000003069544618484E2) i els càlculs d'errors d'arrodoniment compostos podrien donar lloc a un resultat inesperat. El tipus resultant serà Float .

On les coses divergeixen és si s'utilitzen nombres més grans o més petits.

Fórmula Descripció Resultat
Flotador( 1e100 ) Com que el nombre 1e100 literal està més enllà de l'interval d'un decimal, això resulta en un error abans de cridar la funció Float . error (desbordament)
Decimal( 1e100 ) El mateix problema que amb la funció Float . error (desbordament)
Flotador ( "1e100" ) El número de la cadena de text es troba dins de l'interval de nombres flotants . 1e100 Flotador
Decimal( "1e100" ) El número de la cadena de text està més enllà de l'interval de nombres decimals . error (desbordament)
Flotador( "10000000000.0000000001" ) El número de la cadena de text es troba dins de l'interval de nombres flotants . No obstant això, el nombre requereix més precisió de la que pot proporcionar un flotador i es truncarà. 1 (flotador)
Decimal( "10000000000.0000000001" ) El nombre de la cadena de text està dins de l'interval i la precisió d'un nombre decimal . 10000000000.0000000001 (decimal)