Partajați prin


Funcțiile zecimal, float și value

Se aplică la: Aplicații proiectate pe pânză Coloane Dataverse de formule Fluxuri desktop Aplicații Power Platform proiectate pe bază de model CLI

Efectuează conversia unui șir de text sau a altor tipuri într-un număr.

Descriere

Notă

Power Apps acceptă numai funcția Value și returnează o valoare Float . Suportul pentru funcțiile Zecimal și Float va fi adăugat în curând.

Utilizați funcțiile Zecimal, Float șiValue pentru a efectua conversia unui șir de text care conține caractere numerice într-o valoare numerică. Utilizați aceste funcții atunci când trebuie să efectuați calcule pe numere care au fost introduse ca text de către un utilizator. Aceste funcții pot fi, de asemenea, utilizate pentru a converti alte tipuri într-un număr, cum ar fi data / ora și boolean.

Funcția Value va returna tipul de date numeric implicit pentru gazda pe Power Fx care o utilizați, care este de obicei zecimal și cea mai bună alegere pentru majoritatea situațiilor. Utilizați funcțiile Zecimal și Float atunci când aveți nevoie de un anumit tip de date pentru un anumit scenariu, cum ar fi un calcul științific cu un număr foarte mare. Pentru mai multe detalii despre lucrul cu aceste tipuri de date, consultați secțiunea Numere din Tipuri de date.

În funcție de limbă, , și . sunt interpretate diferit. În modul implicit, textul este interpretat în limba utilizatorului curent. Puteți specifica limba de utilizat cu o etichetă de limbă, folosind aceleași etichete de limbă care sunt returnate de funcția Language.

Note privind formatul șirului:

  • Șirul poate fi precedat de simbolul monetar pentru limba curentă. Simbolul monetar este ignorat. Simbolurile monetare pentru alte limbi nu sunt ignorate.
  • Șirul poate include un semn procentual (%) la sfârșit, indicând faptul că este un procent. Numărul va fi împărțit la 100 înainte de a fi returnat. Procentele și simbolurile monetare nu pot fi amestecate.
  • Șirul poate fi scris în notație științifică, cu 12 x 103 exprimat ca "12e3".

Dacă numărul nu este într-un format corect, aceste funcții vor returna o eroare.

Pentru a converti valorile datei și orei, utilizați funcțiile DateValue . TimeValue sau DateTimeValue.

Sintaxă

Zecimal( String [, LanguageTag ] )
Float( String [, LanguageTag ] )
Value( String [, LanguageTag ] )

  • Șir - Obligatoriu. Șir pentru convertire într-o valoare numerică.
  • LanguageTag - Opțional. Eticheta de limbă în care să analizați șirul. Dacă nu este specificat, se utilizează limba utilizatorului curent.

Zecimal( Netastat )
Flotor ( netastat )
Value( Untyped )

Exemple

Utilizatorul care rulează aceste formule se află în Statele Unite și a selectat engleza ca limbă. Funcția Language returnează "en-US". Gazda Power Fx utilizează zecimal în mod implicit.

Valoare și zecimal

Deoarece folosim o gazdă care are zecimal ca implicit, valoarea și zecimala vor returna aceleași rezultate.

Formula Descriere Rezultat
Value( "123.456" )
Zecimal( "123.456" )
Se va utiliza limba implicită "en-US", care folosește un punct ca separator zecimal. 123.456 (Zecimal)
Value( "123.456", "es-ES" )
Zecimal( "123.456", "es-ES" )
"es-ES" este eticheta lingvistică pentru spaniolă în Spania. În Spania, punctul este separatorul de mii. 123456 (Zecimal)
Value( "123,456" )
Zecimal( "123,456" )
Se va utiliza limba implicită "en-US", care folosește o virgulă ca separator de mii. 123456 (Zecimal)
Value( "123.456", "es-ES" )
Zecimal( "123,456", "es-ES" )
"es-ES" este eticheta lingvistică pentru spaniolă în Spania. În Spania, virgula este separatorul zecimal. 123.456 (Zecimal)
Value( "12.34%" )
Zecimal( "12.34%" )
Simbolul procentual de la sfârșitul șirului indică faptul că este vorba despre un procent. 0,1234 (zecimal)
Value( "$ 12.34" )
Zecimal( "$ 12.34" )
Simbolul monetar pentru limba curentă este ignorat. 12.34 (zecimal)
Value( "24e3" )
Zecimal( "24e3" )
Notație științifică pentru 24 x 103. 24000 (zecimal)
Valoare( adevărat )
Zecimal( adevărat )
Efectuează conversia unui boolean într-un număr, 0 pentru fals și 1 pentru adevărat 1 zecimal

Float

Funcția Float va avea foarte aproape aceleași rezultate ca mai sus. Deoarece 123.456 nu poate fi reprezentat cu precizie în Float, rezultatul este o aproximare foarte apropiată (123.456000000000003069544618484E2) și calcularea erorilor de rotunjire compuse ar putea duce la un rezultat neașteptat. Tipul rezultat va fi în schimb Float .

Unde lucrurile diferă este dacă se folosesc numere mai mari sau mai mici.

Formula Descriere Rezultat
Plutitor ( 1e100 ) Deoarece numărul 1e100 literal este dincolo de intervalul unei zecimale, rezultă o eroare înainte de a apela vreodată funcția Float . eroare (depășire)
Zecimal( 1e100 ) Aceeași problemă ca și cu funcția Float . eroare (depășire)
Float( "1e100" ) Numărul din șirul text se află în intervalul numerelor Float . 1E100 Flotor
Zecimal( "1e100" ) Numărul din șirul text depășește intervalul de numere zecimale . eroare (depășire)
Float( "10000000000.0000000001" ) Numărul din șirul text se află în intervalul numerelor Float . Cu toate acestea, numărul necesită mai multă precizie decât poate oferi un Float și va fi trunchiat. 1 (Plutitor)
Zecimal( "10000000000.0000000001" ) Numărul din șirul text se află atât în intervalul, cât și în precizia unui număr zecimal . 10000000000.0000000001 (Zecimal)