Funksjonene Decimal, Float og Value

Gjelder: Lerretsapper Dataverse-formelkolonner Skrivebordsflyt Modelldrevne apper Power Platform CLI

Konverterer en tekststreng eller andre typer til et tall.

Description

Obs!

Power Apps støtter bare Value-funksjonen, og den returnerer en Float-verdi. Støtte for funksjonene Decimal og Float legges til snart.

Bruk funksjonene Decimal, Float og Value til å konverterer en streng med tekst som inneholder talltegn, til en numerisk verdi. Bruk disse funksjonene når du trenger å utføre beregninger på tall som ble angitt som tekst av en bruker. Disse funksjonene kan også brukes til å konvertere andre typer til et tall, for eksempel dato/klokkeslett og boolsk.

Value-funksjonen returnerer standard numerisk datatype for Power Fx-verten du bruker, som vanligvis er Decimal og det beste valget for de fleste situasjoner. Bruk Decimal- og Float-funksjonene når du trenger en bestemt datatype for et bestemt scenario, for eksempel en vitenskapelig beregning med et svært stort antall. Hvis du vil ha mer informasjon om hvordan du arbeider med disse datatypene, kan du se Tall-delen av Datatyper.

Forskjellige språk tolker , og . på ulike måter. Som standard tolkes teksten på språket til den gjeldende brukeren. Du kan angi språket som skal brukes, med en språkkode ved hjelp av de samme språkkodene som returneres av Language-funksjonen.

Merknader på formatet for strengen:

  • Strengen kan ha valutasymbolet for gjeldende språk som prefiks. Valutasymbolet ignoreres. Valutasymboler for andre språk blir ikke ignorert.
  • Strengen kan inneholde et prosenttegn (%) på slutten. Dette indikerer at det er en prosent. Nummeret blir delt med 100 før det returneres. Prosenter og valutasymboler kan ikke blandes.
  • Strengen kan være i vitenskapelig notasjon, med 12 x 103 uttrykt som "12e3".

Hvis nummeret ikke er i riktig format, returnerer disse funksjonene en feil.

Hvis du vil konvertere verdier for dato og klokkeslett, kan du bruke funksjonene DateValue, TimeValue eller DateTimeValue.

Syntaks

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

  • String – obligatorisk. Strengen som skal konverteres til en numerisk verdi.
  • LanguageTag – valgfritt. Språkkoden der du vil dele opp strengen. Hvis det ikke er angitt, brukes språket for den gjeldende brukeren.

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

  • Untyped - v. Objekt uten type som representerer et tall. Godkjente verdier er avhengig av leverandøren uten type. For JSON forventes det at typeløst objekt er et JSON-tall, boolsk eller tekst som kan konverteres til et tall. Husk at formater som er relatert til nasjonale innstillinger, er viktige vurderinger ved kommunikasjon med eksterne systemer.

Eksempler

Brukeren som kjører disse formlene, befinner seg i USA og har valgt engelsk som språket sitt. Language-funksjonen returnerer en-US. Power Fx-verten bruker Decimal som standard.

Value og Decimal

Siden vi bruker en vert som har Decimal som standard, returnerer Value og Decimal det samme resultatet.

Formel Description Result
Value( "123.456" )
Decimal( "123.456" )
Standardspråket for «en-US» brukes og bruker et punktum som desimaltegn. 123.456 (Decimal)
Value( "123.456", "es-ES" )
Decimal( "123.456", "es-ES" )
«es-ES» er språkkoden for spansk i Spania. Et punktum er tusenskilletegnet i Spania. 123456 (Decimal)
Value( "123,456" )
Decimal( "123,456" )
Standardspråket for «en-US» brukes og bruker et komma som tusenskilletegn. 123456 (Decimal)
Value( "123.456", "es-ES" )
Decimal( "123,456", "es-ES" )
«es-ES» er språkkoden for spansk i Spania. Et komma er desimalskilletegnet i Spania. 123.456 (Decimal)
Value( "12.34%" )
Decimal( "12.34%" )
Prosenttegnet på slutten av strengen angir at dette er en prosent. 0.1234 (Decimal)
Value( "$ 12.34" )
Decimal( "$ 12.34" )
Valutasymbolet for gjeldende språk blir ignorert. 12.34 (Decimal)
Value( "24e3" )
Decimal( "24e3" )
Vitenskapelig notasjon for 24 x 103. 24000 (Decimal)
Value( true )
Decimal( true )
Konverterer en boolsk til et tall, 0 for false og 1 for true 1 Decimal

Float

Float-funksjonen vil ha nesten samme resultat som ovenfor. Siden 123.456 ikke kan representeres nøyaktig i Float, er resultatet en tilnærming som er svært nært (123.456000000000003069544618484E2), og beregning av sammensatte avrundingsfeil kan føre til et uventet resultat. Resultattypen blir Float i stedet.

Der ting avviker er hvis større eller mindre tall brukes.

Formel Description Result
Float( 1e100 ) Fordi det litterale tallet 1e100 er utenfor området til en Decimal, fører dette til en feil før du noen gang kaller Float-funksjonen. error (overflow)
Decimal( 1e100 ) Samme problem som Float-funksjonen. error (overflow)
Float( "1e100" ) Tallet i tekststrengen er innenfor området Float-tall. 1e100 Float
Decimal( "1e100" ) Tallet i tekststrengen er utenfor området Decimal-tall. error (overflow)
Float( "10000000000.0000000001" ) Tallet i tekststrengen er innenfor området Float-tall. Tallet krever imidlertid mer presisjon enn det som er mulig å angi for et Float, og det blir avkortet. 1 (Float)
Decimal( "10000000000.0000000001" ) Tallet i tekststrengen er innenfor både området og presisjonen til Decimal-tall. 10000000000.0000000001 (Decimal)