Decimal-, Float- ja Value-funktiot

Koskee seuraavia: Pohjaan perustuvat sovellukset Dataverse -kaavasarakkeet Työpöytätyökulut Mallipohjaiset sovellukset Power Platform CLI

Muuntaa tekstimerkkijonon tai muita tyyppejä numeroksi.

Description

Muistiinpano

Power Apps tukee vain Value-funktiota, ja se palauttaa Float-arvon. Decimal- ja Float-funktioiden tuki lisätään pian.

Voit muuntaa numeromerkkejä sisältävän merkkijonon numeeriseksi arvoksi Decimal-, Float- ja Value-toiminnoilla. Käytä tätä toimintoa, kun haluat suorittaa laskutoimituksia luvuilla, jotka käyttäjä on lisännyt tekstinä. Näiden toimintojen avulla voidaan myös muuntaa muita tyyppejä numeroksi, kuten päivämääräksi/ajaksi ja totuusarvoksi.

Value-funktio palauttaa oletusarvoisen numeerisen tietotyypin käytössäsi olevalle Power Fx-isännälle, joka on yleensä Decimal ja paras vaihtoehto useimmissa tilanteissa. Käytä Decimal- ja Float-funktioita, kun tarvitset tiettyä tietotyyppiä tiettyä skenaariota varten, kuten hyvin suuren määrän laskelman, jossa on hyvin suuri luku. Lisätietoja näiden tietotyyppien käsittelystä on Tietotyyppien Luvut-osassa.

Eri kielissä merkit , ja . tulkitaan eri tavalla. Oletusarvoisesti teksti tulkitaan nykyisen käyttäjän kielellä. Voit määrittää käytettävän kielen kielitunnisteella käyttämällä samoja kielitunnisteita, jotka Language-funktio palauttaa.

Merkkijonon muotoa koskevat huomautukset:

  • Merkkijonossa voi olla etuliitteenä nykyisen kielen mukainen valuuttasymboli. Valuuttasymboli ohitetaan. Muiden kielten valuuttasymboleja ei jätetä huomioimatta.
  • Merkkijonon loppuun voi sisältyä prosenttimerkki (%), joka ilmaisee, että kyseessä on prosenttiluku. Luku jaetaan sadalla ennen tuloksen palauttamista. Prosentti- ja valuuttasymboleita ei voi sekoittaa.
  • Merkkijonossa voidaan käyttää tieteellistä merkintätapaa, jossa 12 x 103 ilmaistaan muodossa "12e3".

Jos luku ei ole oikeassa muodossa, nämä funktiot palauttavat virheen.

Käytä funktioita DateValue, TimeValue ja DateTimeValue päivä- ja aika-arvojen muuntamiseen.

Syntaksi

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

  • String – Pakollinen. Numeeriseksi arvoksi muunnettava merkkijono.
  • LanguageTag – valinnainen. Kielitunniste, jonka perusteella merkkijono jäsennetään. Jos sitä ei syötetä, käytetään nykyisen käyttäjän kieltä.

Decimal( Untyped )
Float( Untyped )
Value( Untyped )

  • Untyped – Pakollinen. Tyypittämätön objekti, joka ilmaisee numeron. Hyväksyttävät arvot riippuvat tyypittämätömästä palvelusta. JSON-arvolle tyypittämättömän objektin odotetaan olevan JSON-numero, -totuusarvo tai -teksti, joka voidaan muuntaa numeroksi. Pidä mielessäsi, että kielialueisiin liittyvät muodot ovat tärkeitä seikkoja kommunikoidessa ulkoisten järjestelmien kanssa.

Esimerkkejä

Käyttäjä, joka suorittaa nämä kaavat, sijaitsee Yhdysvalloissa ja on valinnut kielekseen englannin. Language-funktio palauttaa tuloksen "en-US". Power Fx-isäntä käyttää oletusarvoisesti Decimal-funktiota.

Value ja Decimal

Koska käytössä on isäntä, jonka oletusarvo on Decimal, Value ja Decimal palauttaa samat tulokset.

Kaava Description Result
Value( "123.456" )
Decimal( "123.456" )
Käytetään oletuskieltä "en-US", jossa desimaalierottimena käytetään pistettä. 123.456 (Decimal)
Value( "123.456", "es-ES" )
Decimal( "123.456", "es-ES" )
"es-ES" on kielitunniste Espanjassa käytetylle espanjan kielelle. Espanjassa tuhaterottimena käytetään pistettä. 123.456 (Decimal)
Value( "123,456" )
Decimal( "123.456" )
Käytetään oletuskieltä "en-US", jossa tuhaterottimena käytetään pilkkua. 123.456 (Decimal)
Value( "123.456", "es-ES" )
Decimal( "123.456", "es-ES" )
"es-ES" on kielitunniste Espanjassa käytetylle espanjan kielelle. Espanjassa desimaalierottimena käytetään pilkkua. 123.456 (Decimal)
Value( "12.34%" )
Decimal( "12.34%" )
Merkkijonon lopussa oleva prosenttimerkki ilmaisee, että tämä on prosenttiluku. 0.1234 (Decimal)
Value( "$ 12.34" )
Decimal( "$ 12.34" )
Nykyisen kielen valuuttasymboli ohitetaan. 12.34 (Decimal)
Value( "24e3" )
Decimal( "24e3" )
Luvun 24 x 103 tieteellinen muoto. 24000 (Decimal)
Value( true )
Decimal( tosi )
Muuntaa totuusarvon numeroksi, 0 arvolle epätosi ja 1 arvolle tosi 1 Decimal

Float

Float-funktion tulokset ovat hyvin lähellä edellä mainittuja tuloksia. Koska 123.456 ei voida esittää tarkasti liukulukuna, tuloksena on odottamaton tulos, joka on hyvin lähellä sitä (123.456000000000003069544618484E2) ja pyöristysvirheiden laskeminen voi johtaa odottamattomaan tulokseen. Tulostyyppi on sen sijaan Float.

Asiat eroavat toisistaan, jos käytetään suurempia tai pienempiä lukuja.

Kaava Description Result
Float( 1e100 ) Koska literaaliluku 1e100 on desimaalin alueen ulkopuolella, tämä johtaa virheeseen, ennen kuin Float-toimintoa kutsutaan. virhe (ylivuoto)
Decimal( 1e100 ) Sama ongelma kuin Float-funktiolla. virhe (ylivuoto)
Float( "1e100" ) Tekstimerkkijonon numero on liukulukujen alueella. 1e100 Float
Decimal( "1e100" ) Tekstimerkkijonon numero on desimaalinumeroiden alueen ulkopuolella. virhe (ylivuoto)
Float( "10000000000.0000000001" ) Tekstimerkkijonon numero on liukulukujen alueella. Luku edellyttää kuitenkin enemmän tarkkuutta kuin Float voi antaa ja se katkaistaan. 1 (Float)
Decimal( "10000000000.0000000001" ) Tekstimerkkijonon numero on sekä desimaalilukujen tarkkuudella että alueella. 10000000000.0000000001 (Decimal)