Sdílet prostřednictvím


Decimal, Floata Value funkce

Functions Vztahuje se na
Decimal
Float
Funkce Dataverse ve sloupcích vzorců Power Platform CLI Dataverse toky Copilot Studio Desktopu
Value Aplikace plátna Copilot Studio Desktop toky Dataverse sloupce vzorců Modelem řízené aplikace Power Platform CLI Funkce Power Pages

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)