Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
| Functions | Vztahuje se na |
|---|---|
| Decimal Float |
|
| Value |
|
Převede řetězec textu nebo jiné typy na číslo.
Description
Poznámka:
Power Apps tuto funkci podporuje Value jenom a vrací Float hodnotu. Podpora funkcí Decimal a Float funkcí bude brzy přidána.
DecimalPomocí funkce , Floata Value funkce převést řetězec textu, který obsahuje číselné znaky na číselnou hodnotu. Tyto funkce použijte, když potřebujete provést výpočty s čísly, která uživatel zadal jako text. Tyto funkce lze také použít k převodu jiných typů na číslo, jako je datum/čas a logickou hodnotu.
Funkce Value vrátí výchozí číselný datový typ pro hostitele Power Fx, kterého používáte, což je obvykle Decimal a nejlepší volbou pro většinu situací. Decimal Funkce a Float funkce použijte, pokud potřebujete konkrétní datový typ pro konkrétní scénář, například vědecký výpočet s velmi velkým číslem. Další informace o práci s těmito datovými typy viz část Čísla v části Typy dat.
Znaky , a . se v různých jazycích interpretují odlišně. Ve výchozím nastavení se text interpretuje v jazyce aktuálního uživatele. Jazyk, který se má použít, můžete určit pomocí značky jazyka s využitím stejných značek jazyků, které vrací funkce Language.
Poznámky k formátu řetězce:
- Před řetězcem může být symbol měny pro aktuální jazyk. Symbol měny se ignoruje. Symboly měny pro jiné jazyky se neignorují.
- Řetězec může na konci obsahovat znak procenta (%) udávající, že jde o procenta. Než bude číslo vráceno, vydělí se číslem 100. Procenta a symboly měn není možné směšovat.
- Řetězec může být zapsaný exponenciální notací, kdy se 12 x 103 vyjadřuje jako „12e3“.
Pokud číslo není ve správném formátu, tyto funkce vrátí chybu.
K převodu hodnot data a času použijte funkce DateValue, TimeValue nebo DateTimeValue.
Syntaxe
Decimal( String [, LanguageTag ] )
Float( String [, LanguageTag ] )
Value( String [, LanguageTag ] )
- Řetězec – Povinný. Řetězec, který se má převést na číselnou hodnotu.
- LanguageTag – Volitelné. Značka jazyka, ve kterém se má řetězec analyzovat. Pokud není uvedený, použije se jazyk aktuálního uživatele.
Decimal( Dynamická )
Float( Dynamická )
Value( Dynamická )
- Dynamické – povinné. Dynamická hodnota, která představuje číslo. Přijatelné hodnoty závisí na poskytovateli netypovaného objektu. U formátu JSON se očekává, že dynamická hodnota bude číslo JSON, logická hodnota nebo text, které je možné převést na číslo. Mějte na paměti, že formáty související s národním prostředím jsou důležitými faktory při komunikaci s externími systémy.
Příklady
Uživatel, který spouští tyto vzorce, se nachází ve Spojených státech a vybral si jako svůj jazyk angličtinu. Funkce Language vrátí en-US. Hostitel Power Fx používá Decimal ve výchozím nastavení.
Value a Decimal
Vzhledem k tomu, že používáme hostitele, který má Decimal výchozí hodnotu, Value a Decimal vrátí stejné výsledky.
| Vzorec | Description | Result |
|---|---|---|
|
Value( "123.456" ) Decimal( "123.456" ) |
Použije se výchozí jazyk „en US“, který používá tečku jako oddělovač desetinných míst. | 123.456 (Decimal) |
|
Value( "123.456", "es-ES" ) Decimal( "123.456", "es-ES" ) |
„es-ES“ je značka jazyka pro španělštinu ve Španělsku. Ve Španělsku se tečkou oddělují tisíce. | 123456 (Decimal) |
|
Value( "123,456" ) Decimal( "123,456" ) |
Použije se výchozí jazyk „en US“, který používá čárku jako oddělovač tisíců. | 123456 (Decimal) |
|
Value( "123,456", "es-ES" ) Decimal( "123,456", "es-ES" ) |
„es-ES“ je značka jazyka pro španělštinu ve Španělsku. Ve Španělsku se čárkou oddělují desetinná místa. | 123.456 (Decimal) |
|
Value( "12,34%" ) Decimal( "12,34%" ) |
Znak procenta na konci řetězce označuje, že se jedná o procenta. | 0.1234 (Decimal) |
|
Value( "$ 12,34" ) Decimal( "$ 12,34" ) |
Symbol měny pro aktuální jazyk se ignoruje. | 12.34 (Decimal) |
|
Value( "24e3" ) Decimal( "24e3" ) |
Exponenciální notace pro 24 x 103. | 24000 (Decimal) |
|
Value( true ) Decimal( true ) |
Převede logickou hodnotu na číslo, 0 pro false a 1 pro true | 1 Decimal |
Float
Funkce Float bude mít velmi blízko ke stejným výsledkům jako výše. Vzhledem k tomu, že 123,456 nemůže být přesně reprezentován , Floatvýsledkem je aproximace, která je velmi blízko (123,456000000003069544618484E2) a složené výpočty chyb zaokrouhlování by mohly vést k neočekávanému výsledku. Výsledný typ bude Float místo toho.
Tam, kde se věci liší, je použití větších nebo menších čísel.
| Vzorec | Description | Result |
|---|---|---|
| Float( 1e100 ) | Protože je literálové číslo 1e100 nad rozsahem Decimal, výsledkem je chyba před voláním Float funkce. |
chyba (přetečení) |
| Decimal( 1e100 ) | Stejný problém jako s Float funkcí. | chyba (přetečení) |
| Float( "1e100" ) | Číslo v textovém řetězci je v rozsahu Float čísel. | 1e100 Float |
| Decimal( "1e100" ) | Číslo v textovém řetězci přesahuje rozsah Decimal čísel. | chyba (přetečení) |
| Float( "10000000000.0000000001" ) | Číslo v textovém řetězci je v rozsahu Float čísel. Číslo ale vyžaduje větší přesnost, než Float může poskytnout a bude zkráceno. | 1 (Float) |
| Decimal( "10000000000.0000000001" ) | Číslo v textovém řetězci je v rozsahu i přesnosti Decimal čísel. | 1000000000.0000000001 (Decimal) |