Share via


Funcions decimals, flotadores i de valor

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

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 . Aviat s'afegirà suport per a les funcions Decimal i Float .

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

La funció Valor retornarà el tipus de dades numèriques predeterminat per a l'amfitrió Power Fx que utilitzeu, 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ó Numbers 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 monetaris 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 monetaris 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é un format adequat, aquestes funcions retornaran un error.

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

Sintaxi

Decimal( String [, LanguageTag ] )
Float( String [, LanguageTag ] )
Value(Cadena [,LanguageTag])

  • Cadena: obligatori. 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 )
Flotador( sense tipificar )
Value ( sense tipus )

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'amfitrió Power Fx utilitza Decimal per defecte.

Valor i decimal

Com que estem utilitzant un host que té Decimal per defecte, Valor i Decimal retornaran els mateixos resultats.

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

Float

La funció Float tindrà molt a prop dels mateixos resultats que l'anterior. Atès 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 agreujats podrien resultar en un resultat inesperat. El tipus resultant serà Float en el seu lloc.

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à del rang d'un decimal , això resulta en unerror abans de trucar a 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 números flotants . Flotador 1e100
Decimal( "1e100" ) El número de la cadena de text està més enllà de l'interval dels nombres decimals . error (desbordament)
Flotador( "10000000000.0000000001" ) El número de la cadena de text es troba dins de l'interval de números flotants . No obstant això, el nombre requereix més precisió de la que un flotador pot proporcionar i es trunca. 1 (Flotador)
Decimal( "10000000000.0000000001" ) El número de la cadena de text es troba tant dins de l'interval com de la precisió d'un nombre decimal . 10000000000.0000000001 (Decimal)