Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
| Function | Vzťahuje sa na |
|---|---|
| Decimal |
|
| Float |
|
| Value |
|
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) |