Zdieľať cez


Decimal, Floata Value funkcie

Function Vzťahuje sa na
Decimal Postupy aplikácie Copilot Studio Desktop so stĺpcami vzorca Dataverse platformy Power Platform CLI Dataverse
Float Aplikácie plátna Copilot Studio Desktop postupy dataverse vzorca stĺpce Power Platform CLI Dataverse funkcie
Value Aplikácie plátna Copilot Studio Desktop – postupy vzorcov Dataverse stĺpce Modelom riadené aplikácie Power Platform CLI Dataverse funkcie Power Pages

Skonvertuje reťazec textu alebo iné typy na číslo.

Description

Poznámka

Služba Power Apps podporuje Value funkciu iba a vracia hodnotu Float . Podpora funkcií Decimal a Float bude čoskoro pridaná.

DecimalPomocou funkcií , Floata Value skonvertujte textový reťazec, ktorý obsahuje číselné znaky, na číselnú hodnotu. Tieto funkcie použite, keď potrebujete vykonať výpočty s číslami, ktoré zadal používateľ ako text. Tieto funkcie možno použiť aj na konverziu iných typov na číslo, ako je dátum/čas a boolovská hodnota.

Funkcia Value vráti predvolený typ číselných údajov pre hostiteľa Power Fx, ktorý používate, čo je zvyčajne Decimal a najlepšou voľbou pre väčšinu situácií. Decimal Použite funkcie a Float vtedy, keď potrebujete konkrétny typ údajov pre konkrétny scenár, ako je napríklad vedecký výpočet s veľmi veľkým počtom. Ďalšie podrobnosti o práci s týmito typmi údajov nájdete v sekcii Čísla v časti Typy údajov.

Rôzne jazyky interpretujú znaky , a . odlišne. V predvolenom nastavení sa text interpretuje v jazyku aktuálneho používateľa. Jazyk, ktorý sa má použiť, môžete určiť pomocou značky jazyka s využitím rovnakých značiek jazyka, ktoré vracia funkcia Language.

Poznámky k formátu reťazca:

  • Pred reťazcom môže byť symbol meny pre aktuálny jazyk. Symbol meny sa ignoruje. Symboly mien pre iné jazyky sa neignorujú.
  • Reťazec môže na konci obsahovať znak percenta (%), ktorý označuje, že ide o percento. Číslo sa pred vrátením vydelí číslom 100. Percentá a symboly mien nie je možné miešať.
  • Reťazec môže byť zapísaný v exponenciálnom zápise, kedy sa 12 x 103 vyjadruje ako „12e3“.

Ak číslo nie je v správnom formáte, tieto funkcie vrátia chybu.

Na prevod hodnôt dátumu a času použite funkciu DateValue, TimeValue alebo DateTimeValue.

Syntax

Decimal( Reťazec [, LanguageTag ] )
Float( Reťazec [, LanguageTag ] )
Value( Reťazec [, LanguageTag ] )

  • Reťazec – povinné. Reťazec, ktorý sa má previesť na číselnú hodnotu.
  • LanguageTag – voliteľné. Značka jazyka, v ktorom sa má analyzovať reťazec. Ak nie je uvedené, použije sa jazyk aktuálneho používateľa.

Decimal( Dynamic )
Float( Dynamic )
Value( Dynamic )

  • Dynamic – povinné. Dynamická hodnota, ktorá predstavuje číslo. Prijateľné hodnoty závisia od netypového poskytovateľa. V prípade JSON sa očakáva, že dynamická hodnota bude číslo vo formáte JSON, booleovská hodnota alebo text, ktorý sa dá skonvertovať na číslo. Majte na pamäti, že formáty súvisiace s miestnym nastavením sú dôležité pri komunikácii s externými systémami.

Príklady

Používateľ, ktorý spúšťa tieto vzorce, sa nachádza v Spojených štátoch a vybral si ako svoj jazyk angličtinu. Funkcia Language vráti „en-US“. Hostiteľ služby Power Fx používa Decimal predvolene.

Value a Decimal

Keďže používame hostiteľa, ktorý má Decimal predvolenú hodnotu, Value a Decimal vráti rovnaké výsledky.

Vzorec Description Result
Value( "123.456" )
Decimal( "123.456" )
Použije sa predvolený jazyk „en-US“, ktorý používa bodku ako oddeľovač desatinných miest. 123.456 (Decimal)
Value( "123.456", "es-ES" )
Decimal( "123.456", "es-ES" )
„es-ES“ je značka jazyka pre španielčinu v Španielsku. V Španielsku sa čiarkou oddeľujú tisíce. 123456 (Decimal)
Value( "123,456" )
Decimal( "123,456" )
Použije sa predvolený jazyk „en-US“, ktorý používa čiarku ako oddeľovač tisícov. 123456 (Decimal)
Value( "123,456", "es-ES" )
Decimal( "123,456", "es-ES" )
„es-ES“ je značka jazyka pre španielčinu v Španielsku. V Španielsku sa čiarkou oddeľujú desatinné miesta. 123.456 (Decimal)
Value( "12.34%" )
Decimal( "12.34%" )
Znak percenta na konci reťazca označuje, že ide o percentuálnu hodnotu. 0.1234 (Decimal)
Value( "$ 12.34" )
Decimal( "$ 12.34" )
Symbol meny pre aktuálny jazyk sa ignoruje. 12.34 (Decimal)
Value( "24e3" )
Decimal( "24e3" )
Exponenciálny zápis pre 24 x 103. 24 000 (Decimal)
Value( True )
Decimal( True )
Konvertuje boolovskú hodnotu na číslo, 0 pre nepravda a 1 pre pravda 1 Decimal

Float

Funkcia Float bude mať veľmi blízko k rovnakým výsledkom ako je uvedené vyššie. Keďže číslo 123.456 nemožno presne reprezentovať v Float, výsledkom je aproximácia, ktorá je veľmi blízko (123,45600000000000306954618484E2) a výpočty zložených chýb zaokrúhlenia by mohli viesť k neočakávanému výsledku. Výsledný typ bude Float namiesto toho.

Tam, kde sa veci líšia, je použitie väčších alebo menších čísel.

Vzorec Description Result
Float( 1e100 ) Keďže literálové číslo 1e100 je mimo rozsahu Decimal, výsledkom je chyba pred kedykoľvek predtým, ako zavoláte Float funkciu. chyba (pretečenie)
Decimal( 1e100 ) Rovnaký problém ako s funkciou Float . chyba (pretečenie)
Float( "1e100" ) Číslo v textovom reťazci je v rozsahu čísel Float . 1e100 Float
Decimal( "1e100" ) Číslo v textovom reťazci je za rozsahom Decimal čísel. chyba (pretečenie)
Float( "10000000000.0000000001" ) Číslo v textovom reťazci je v rozsahu čísel Float . Číslo však vyžaduje väčšiu presnosť, než Float môže poskytnúť argument a skráti sa. V 1. odsekuFloat
Decimal( "10000000000.0000000001" ) Číslo v textovom reťazci sa nachádza v rozsahu aj presnosti Decimal čísel. 1000000000.00000000001 (Decimal)