Decimalne funkcije, Plutajuće i Vrijednosti
Odnosi se na: Stupci formule aplikacija Dataverse od gotovih gradivnih elemenata Tokovi radne površine CLI aplikacije stvorene prema Power Pages Power Platform modelu
Pretvara niz teksta ili drugih vrsta u broj.
Opis
Napomena
Power Apps podržava samo funkciju Value i vraća plutajuću vrijednost. Uskoro će se dodati podrška za funkcije Decimal i Float .
Pomoću funkcija Decimal , Float i Value pretvorite niz teksta koji sadrži brojčane znakove u brojčanu vrijednost. Ovu funkciju koristite kada trebate izvršiti izračune brojeva koje je korisnik unio kao tekst. Te se funkcije mogu koristiti i za pretvaranje drugih vrsta u broj, kao što su datum/vrijeme i Boole.
Funkcija Value vratit će zadanu numeričku vrstu podataka za glavno računalo koje Power Fx koristite, što je obično decimalni broj i najbolji izbor za većinu situacija. Koristite funkcije Decimal i Float kada vam je potrebna određena vrsta podataka za određeni scenarij, kao što je znanstveni izračun s vrlo velikim brojem. Dodatne informacije o radu s tim vrstama podataka potražite u odjeljku Brojevi vrsta podataka.
Različiti jezici različito tumače , i .. Text se prema zadanim postavkama tumači na jeziku trenutačnog korisnika. Možete jezičnom oznakom odrediti jezik koji će se upotrebljavati, koristeći iste jezične oznake koje vraća funkcija Language.
Napomene o obliku niza:
- Niz može imati kao prefiks simbol valute za trenutačni jezik. Simbol valute se zanemaruje. Simboli valuta za druge jezike se ne zanemaruju.
- Niz može sadržavati znak postotka (%) na kraju, što znači da je to postotak. Prije vraćanja, broj će biti podijeljen sa 100. Postoci i simboli valuta ne mogu se miješati.
- Niz može biti u znanstvenom zapisu, gdje je 12 x 103 izraženo kao „12e3”.
Ako broj nije u ispravnom obliku, te će funkcije vratiti pogrešku.
Da biste pretvarali vrijednosti datuma i vremena, koristite funkcije DateValue, TimeValue ili DateTimeValue.
Sintaksa
Decimal( niz [, Jezična Oznaka ] )
Float( String [, LanguageTag ] )
Value( niz [, jezična oznaka ] )
- String – obavezno. Niz koji se pretvara u brojčanu vrijednost.
- LanguageTag – neobavezno. Jezična oznaka za raščlanjivanje niza. Ako nije naveden, koristi se jezik trenutačnog korisnika.
Decimalni broj ( neupisan )
Plutajući ( neupisani )
Vrijednost( Netipizirano )
- Untyped – obavezno. Netipizirani objekt koji predstavlja broj. Prihvatljive vrijednosti ovise o netipiziranom davatelju. Za JSON se očekuje da će netipizirani objekt biti JSON broj, boolean ili tekst koji se može pretvoriti u broj. Imajte na umu da su formati vezani za lokalizaciju važna razmatranja pri komunikaciji s vanjskim sustavima.
Primjeri
Korisnik koji koristi ove formule nalazi se u Sjedinjenim Američkim Državama i kao svoj jezik odabrao je engleski. Funkcija Language vraća „en-US”. Glavno Power Fx računalo prema zadanim postavkama koristi decimalni broj .
Vrijednost i decimalni broj
Budući da koristimo glavno računalo koje ima decimalni broj kao zadani, Vrijednost i Decimal vratit će iste rezultate.
Formula | Opis | Rezultat |
---|---|---|
Value( "123.456" ) Decimalni broj( "123.456" ) |
Koristit će se zadani jezik „en-US”, koji koristi točku kao decimalni razdjelnik. | 123.456 (decimalni broj) |
Value( "123.456", "es-ES" ) Decimalni broj ( "123.456", "es-ES" ) |
„es-ES” je jezična oznaka za španjolski u Španjolskoj. U Španjolskoj se kao razdjelnik tisućica koristi točka. | 123456 (decimalni broj) |
Value( "123,456" ) Decimalni broj ( "123,456" ) |
Koristit će se zadani jezik „en-US”, koji koristi zarez kao razdjelnik tisućica. | 123456 (decimalni broj) |
Value( "123.456", "es-ES" ) Decimalni broj ( "123,456", "es-ES" ) |
„es-ES” je jezična oznaka za španjolski u Španjolskoj. U Španjolskoj je zarez decimalni razdjelnik. | 123.456 (decimalni broj) |
Value( "12.34%" ) Decimalni broj( "12.34%" ) |
Znak postotka na kraju niza označava da je to postotak. | 0,1234 (decimalni broj) |
Value( "$ 12.34" ) Decimal( "$ 12.34" ) |
Simbol valute za trenutačni jezik se zanemaruje. | 12.34 (decimalni broj) |
Value( "24e3" ) Decimalni broj ( "24e3" ) |
Znanstveni zapis za 24 x 103. | 24000 (decimalni broj) |
Vrijednost( true ) Decimal( true ) |
Pretvara Booleov u broj, 0 za false i 1 za true | 1 decimalni broj |
Float
Funkcija Float imat će vrlo blizu istih rezultata kao i gore. Budući da se 123.456 ne može precizno prikazati u Floatu, rezultat je aproksimacija koja je vrlo bliska (123.456000000000003069544618484E2), a složeni izračuni pogrešaka zaokruživanja mogli bi rezultirati neočekivanim rezultatom. Rezultirajuća vrsta bit će Float umjesto toga.
Gdje se stvari razlikuju je ako se koriste veći ili manji brojevi.
Formula | Opis | Rezultat |
---|---|---|
Float( 1e100 ) | Budući da je doslovni broj 1e100 izvan raspona decimalnog broja, to rezultira pogreškom prije pozivanja funkcije Float . |
pogreška (prelijevanje) |
Decimalni broj ( 1e100 ) | Isti problem kao i kod funkcije Float . | pogreška (prelijevanje) |
Float( "1e100" ) | Broj u tekstnom nizu nalazi se unutar raspona plutajućih brojeva. | 1e100 plovak |
Decimalni broj ( "1e100" ) | Broj u tekstnom nizu je izvan raspona decimalnih brojeva. | pogreška (prelijevanje) |
Float( "10000000000.0000000001" ) | Broj u tekstnom nizu nalazi se unutar raspona plutajućih brojeva. Međutim, broj zahtijeva veću preciznost nego što plovak može pružiti i bit će skraćen. | 1 (plovak) |
Decimal( "10000000000.0000000001" ) | Broj u tekstnom nizu nalazi se unutar raspona i preciznosti decimalnih brojeva. | 10000000000.0000000001 (decimalni broj) |