Partajați prin


Funcții zecimală, flotantă și valoare

Se aplică pentru: planșă de lucru aplicații Dataverse coloane de formule Fluxuri desktop Aplicații bazate pe model Power Pages Power Platform CLI

Convertește un șir de text sau alte tipuri într-un număr.

Descriere

Notă

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

Folosiți Decimal, Float și Valoare funcții pentru a converti un ș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 folosite și pentru a converti alte tipuri într-un număr, cum ar fi data/ora și Boolean.

Funcția Valoare va returna tipul implicit de date numerice pentru Power Fx gazdă pe care o utilizați, care este de obicei Decimal și cea mai bună alegere pentru majoritatea situațiilor. Utilizați funcțiile Decimal și Float când aveți nevoie de un anumit tip de date pentru un anumit scenariu, cum ar fi un scenariu științific calcul 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 valutare pentru alte limbi nu sunt ignorate.
  • Șirul poate include un semn de procent (%) 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 valutare 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 adecvat, aceste funcții vor returna o eroare.

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

Sintaxă

Decimal( Șir [, 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.

Decimal( Netipărit )
Float( Netipărit )
Value( Untyped )

  • Untyped - Obligatoriu. Obiect netipizat care reprezintă un număr. Valorile acceptabile depind de furnizorul netipificat. Pentru JSON, obiect fără tip este de așteptat să fie un număr JSON, Boolean sau text care poate fi convertit într-un număr. Rețineți că formatele legate de locație sunt considerații importante atunci când comunicați cu sisteme externe.

Exemple

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

Valoare și zecimală

Deoarece folosim o gazdă care are Decimal ca implicită, Valoare și Decimal va returna aceleași rezultate.

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

Float

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

Unde lucrurile diverg este dacă sunt folosite numere mai mari sau mai mici.

Formula Descriere Rezultat
Float (1e100) Deoarece numărul literal 1e100 depășește intervalul a Decimal, aceasta duce la o eroare înainte de a apela vreodată Float funcție. eroare (debordare)
Decimală (1e100) Aceeași problemă ca și cu funcția Float . eroare (debordare)
Float( „1e100”) Numărul din șirul de text se încadrează în intervalul Numerele flotante . 1e100 Float
Decimală( „1e100”) Numărul din șirul de text depășește intervalul de numere Decimale . eroare (debordare)
Float( "10000000000.0000000001") Numărul din șirul de text se încadrează în intervalul Numerele flotante . Cu toate acestea, numărul necesită mai multă precizie decât poate oferi un Float și va fi trunchiat. 1 (Float)
Decimal( "10000000000.0000000001") Numărul din șirul de text se află atât în ​​intervalul, cât și în precizia a Decimal numerelor. 10000000000.0000000001 (Decimal)