Decimalne, Float i Value funkcije
Odnosi se na: Kolone Dataverse formule aplikacija platna Tokovi na radnoj površini CLI aplikacija Power Pages Power Platform zasnovane na modelu
Pretvara niz teksta ili drugih tipova u broj.
Opis
Belešku
Power Apps podržava samo funkciju Vrednost i ona vraća vrednost Float . Podrška za Decimal i Float funkcije će biti dodata uskoro.
Koristite funkcije Decimal, Float i Value da biste pretvorili niz teksta koji sadrži brojčane znakove u numeričku vrednost. Koristite ovu funkciju kada je potrebno izvršiti proračune na brojevima koje je korisnik unio kao tekst. Ove funkcije se takođe mogu koristiti za pretvaranje drugih tipova u broj, kao što su datum / vreme i Boolean.
Funkcija Vrednost će vratiti podrazumevani numerički tip podataka za domaćina Power Fx koji koristite, što je obično decimalno i najbolji izbor za većinu situacija. Koristite Decimal i Float funkcije kada vam je potreban određeni tip podataka za određeni scenario, kao što je naučni proračun sa veoma velikim brojem. Za više detalja o radu sa ovim tipovima podataka, pogledajte Brojevi odeljak Tipovi podataka.
Različiti jezici se tumače , i . različito. Podrazumevano se tekst tumači na jeziku trenutnog korisnika. Možete da odredite jezik koji se koristi sa oznakom za jezik koristeći iste jezičke oznake koje je vratila funkcija Language.
Napomene o formatu niske:
- Niska može da nosi prefiks simbola valute za trenutni jezik. Simbol valute se ignoriše. Simboli valute za druge jezike se ne zanemaruju.
- String može uključivati znak procenta (%) na kraju, što ukazuje da je to procenat. Broj će biti podeljen sa 100 pre nego što bude vraćen. Procenti i simboli valute ne mogu se mešati.
- Niska može biti u naučnoj notaciji, sa 12 x 103 izraženo kao "12e3".
Ako broj nije u odgovarajućem formatu, ove funkcije će vratiti grešku.
Da biste konvertovali vrednosti datuma i vremena, koristite funkcije DateValue, TimeValue ili DateTimeValue.
Sintaksa
Decimal( String [, LanguageTag ] )
Float( String [, LanguageTag ] )
Value( String [, LanguageTag ] )
- String - Obavezno. Niska za konvertovanje u numeričku vrednost.
- LanguageTag - Opciono. Oznaka jezika u kojoj će se analizirati niska. Ako nije navedeno, koristi se jezik trenutnog korisnika.
Decimalno ( netipizirano )
Float ( Untyped )
Vrednost ( netipizirano )
- Untyped - Obavezno. netipizirani objekat koji predstavlja broj. Prihvatljive vrednosti zavise od dobavljača netipiziranog sadržaja. Za JSON, očekuje se da će netipizirani objekat biti JSON broj, boolean ili tekst koji se može pretvoriti u broj. Imajte na umu da formati povezani sa lokalnim standardima predstavljaju važna pitanja prilikom komunikacije sa spoljnim sistemima.
Primeri
Korisnik koji pokreće ove formule nalazi se u Sjedinjenim Državama i za svoj je jezik odabrao engleski. Funkcija Language vraća "en-US". Domaćin Power Fx podrazumevano koristi Decimal .
Vrednost i decimalni
Pošto koristimo host koji ima Decimal kao podrazumevani, Vrednost i Decimal će vratiti iste rezultate.
Formula | Opis | rezultat |
---|---|---|
Vrednost( "123.456" ) Decimalna( "123.456" ) |
Biće korišćen podrazumevani jezik "en-US", koji koristi tačku kao decimalni separator. | 123.456 (Decimalna) |
Vrednost( "123.456", "ES-ES" ) Decimal( "123.456", "ES-ES" ) |
"es-ES" je jezička oznaka za španski u Španiji. U Španiji je tačka separator za hiljade. | 123456 (Decimalna) |
Vrednost( "123,456" ) Decimal( "123,456" ) |
Biće korišćen podrazumevani jezik "en-US", koji koristi zarez kao separator za hiljade. | 123456 (decimalno) |
Vrednost( "123,456", "ES-ES" ) Decimal( "123,456", "es-ES" ) |
"es-ES" je jezička oznaka za španski u Španiji. U Španiji je zarez decimalni separator. | 123.456 (Decimalna) |
vrednost( "12.34%" ) Decimal( "12.34%" ) |
Znak procenta na kraju niske označava da je ovo procenat. | 0.1234 (decimalni) |
Vrednost( "$ 12.34" ) Decimal( "$ 12.34" ) |
Simbol valute za trenutni jezik se ignoriše. | 12.34 (decimalno) |
Vrednost( "24e3" ) Decimalna( "24e3" ) |
Naučni zapis za 24 x 103. | 24000 (decimalni) |
Vrednost ( istina ) Decimal( istina ) |
Pretvara Boolean u broj, 0 za lažno i 1 za istinito | 1 decimalna |
Float
Funkcija Float će imati veoma blizu istih rezultata kao gore. Pošto 123.456 ne može biti precizno predstavljen u Float-u , rezultat je aproksimacija koja je veoma blizu (123.456000000000003069544618484E2) i složeni proračuni grešaka zaokruživanja mogu rezultirati neočekivanim rezultatom. Dobijeni tip će biti Float umesto toga.
Gde se stvari razilaze je ako se koriste veći ili manji brojevi.
Formula | Opis | rezultat |
---|---|---|
Plovak( 1e100 ) | Zato što je bukvalni broj 1e100 izvan opsega decimalne , ovo rezultira greškom pre nego što ikada pozovete Float funkciju . |
greška (prelivanje) |
Decimalni( 1e100 ) | Isti problem kao i sa funkcijom Float . | greška (prelivanje) |
Plovak( "1e100" ) | Broj u tekstualnom nizu je u opsegu Float brojeva. | 1e100 plovak |
Decimalno( "1e100" ) | Broj u tekstualnom nizu je izvan opsega decimalnih brojeva. | greška (prelivanje) |
Float( "10000000000.0000000001" ) | Broj u tekstualnom nizu je u opsegu Float brojeva. Međutim, broj zahteva više preciznosti nego što Float može da obezbedi i da će biti skraćen. | 1 (Float) |
Decimal( "10000000000.0000000001" ) | Broj u tekstualnom nizu je u opsegu i preciznosti decimalnih brojeva. | 10000000000.0000000001 (Decimalna) |