Funktioner til decimal, flydende og værdi

Gælder for: Lærredsapps Dataverse formelkolonner Skrivebordsflows Modeldrevne apps Power Platform CLI

Konverterer en tekststreng eller andre typer til et tal.

Beskrivelse

Bemærk

Power Apps understøtter kun funktionen Værdi, og den returnerer en flydende værdi. Understøttelse af Decimal- og Flydende-funktioner tilføjes snart.

Brug funktionerne Decimal, Flydende og Værdi til at konverterer en tekststreng, der indeholder taltegn, til en numerisk værdi. Brug denne funktion, når du skal beregne tal, der er indtastet som tekst af en bruger. Disse funktioner kan også bruges til at konvertere andre typer til et tal, f.eks. dato/klokkeslæt og boolesk.

Funktionen Værdi returnerer standarddatatypen for den Power Fx-vært, du bruger, som normalt er Decimal og det bedste valg i de fleste situationer. Brug funktionerne Decimal og Flydende, når du skal bruge en bestemt datatype til et bestemt scenario, f.eks. en beregning af klargjorte scenarier med et meget stort antal. Du kan finde flere oplysninger om, hvordan du arbejder med disse datatyper, se afsnittet Tal i Datatyper.

Forskellige sprog fortolker , og . forskelligt. Som standard bruges den aktuelle brugers sprog. Du kan angive det sprog, der skal bruges sammen med en sprogkode, ved at bruge de samme sprogkoder, som returneres af funktionen Language.

Noter om strengens format:

  • Strengen kan indledes med valutasymbolet for det aktuelle sprog. Valutasymbolet ignoreres. Valutasymboler for andre sprog ignoreres ikke.
  • Strengen kan indeholde et procenttegn (%) i slutningen for at angive, at det er en procentdel. Tallet vil blive delt med 100, før det returneres. Procent- og valutasymboler kan ikke blandes.
  • Strengen kan være i videnskabelig notation med 12 x 103 udtrykt som "12e3".

Hvis nummeret ikke har det korrekte format, returnerer disse funktioner en fejl.

Hvis du vil konvertere værdier for dato og klokkeslæt, skal du bruge funktionerne DateValue, TimeValue eller DateTimeValue.

Syntaks

Decimal( Streng [, LanguageTag ] )
Flydende( Streng [, LanguageTag ] )
Value( Streng [, LanguageTag ] )

  • Streng - påkrævet. Den streng, der skal konverteres til en numerisk værdi.
  • LanguageTag – valgfri. Den sprogkode, der skal bruges til at fortolke strengen. Som standard bruges den aktuelle brugers sprog.

Decimal( Ikke-skrevet )
Flydende( ikke-skrevet )
Value( Untyped )

  • Untyped - påkrævet. Objekt uden type, der repræsenterer et tal. Acceptable værdier afhænger af udbyderen af objektet uden type. I forbindelse med JSON forventes det ikke-indtastede objekt at være et JSON-tal, en boolesk værdi eller en tekst, der kan konverteres til et tal. Husk på, at landestandardrelaterede formater er vigtige overvejelser, når du kommunikerer med eksterne systemer.

Eksempler

Den bruger, der kører disse formler, befinder sig i USA og har valgt engelsk som sprog. Funktionen Language returnerer "en-US". Power Fx-værten bruger Decimal som standard.

Værdi og decimal

Da der bruges en vært med Decimal som standard, returnerer Værdi og Decimal de samme resultater.

Formel Beskrivelse Resultat
Value( "123.456" )
Decimal( "123,456" )
Standardsproget "en-US" vil blive brugt, som bruger et punktum som decimalseparator. 123.456 (Decimal)
Value( "123.456", "es-ES" )
Decimal( "123.456", "es-ES" )
"es-ES" er sprogmærket for spansk i Spanien. I Spanien bliver punktum brugt som tusindtalsseparator. 123456 (Decimal)
Value( "123.456" )
Decimal( "123,456" )
Standardsproget "en-US" vil blive brugt, som bruger et komma som tusindtalsseparator. 123456 (Decimal)
Value( "123.456", "es-ES" )
Decimal( "123.456", "es-ES" )
"es-ES" er sprogmærket for spansk i Spanien. I Spanien bliver komma brugt som decimalseparator. 123.456 (Decimal)
Value( "12.34%" )
Decimal( "12,34%" )
Procenttegn i slutningen af strengen angiver, at dette er en procentdel. 0.1234 (Decimal)
Value( "$ 12.34" )
Decimal( "$ 12,34" )
Valutasymbolet for det aktuelle sprog ignoreres. 12.34 (Decimal)
Value( "24e3" )
Decimal( "24e3" )
Videnskabelig notation for 24 x 103. 24000 (Decimal)
Værdi (sand)
Decimal (sand)
Konverterer en boolesk til et tal, 0 for falsk og 1 for sand 1 Decimal

Float

Funktionen Flydende vil være meget tæt på de samme resultater som ovenfor. Da 123.456 ikke kan repræsenteres i Flydende, er resultatet et resultat, der er meget tæt på (123.456000000000003069544618484E2), og beregninger af sammensatte afrundingsfejl kan resultere i et uventet resultat. Den resulterende type vil i stedet være Flydende.

Hvor tingene er, hvis der bruges større eller mindre tal.

Formel Beskrivelse Resultat
Flydende (1e100) Da literalnummeret 1e100 er uden for området med en Decimal, resulterer det i en fejl, før du ringer til funktionen Flydende. fejl (overløb)
Decimal( 1e100 ) Samme problem som med funktionen Flydende. fejl (overløb)
Flydende ("1e100") Nummeret i tekststrengen er inden for intervallet for flydende tal. 1e100 Flydende
Decimal ("1e100") Nummeret i tekststrengen er uden for intervallet for Decimal tal. fejl (overløb)
Flydende( "10000000000.0000000001" ) Nummeret i tekststrengen er inden for intervallet for flydende tal. Antallet kræver dog mere præcision, end et Flydende tal kan angive og afkortes. 1 (Flydende)
Decimal( "10000000000.0000000001" ) Nummeret i tekststrengen er inden for intervallet og præcisionen for Decimal tal. 10000000000.0000000001 (Decimal)