Deli putem


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)