Споделяне чрез


Decimal, Floatи Value функции

Функция Приложимо за
Decimal Copilot Studio Desktop flows Dataverse formula columns Power Platform CLI Dataverse functions
Float Приложенията за платно Copilot Studio Desktop потоци Dataverse формула колони Power Platform CLI Dataverse функции
Value Приложения за платно Copilot Studio Работен плот потоци Dataverse формули колони Модел-задвижвани приложения Power Platform CLI Dataverse функции Power Pages

Преобразува низ от текст или други типове в число.

Описание

Бележка

Power Apps поддържа Value функцията само и връща Float стойност. Поддръжката за функциите DecimalFloat ще бъде добавена скоро.

Използвайте , Decimalи Float функции, Valueза да преобразувате низ от текст, който съдържа числови знаци, в числова стойност. Използвайте тези функции, когато трябва да извършите изчисления на числа, които са въведени като текст от потребител. Тези функции могат да се използват и за преобразуване на други типове в число, като дата/час и Boolean.

Функцията Value ще върне числовия тип по подразбиране за използвания от вас хост Power Fx, което обикновено Decimal е и най-добрият избор за повечето ситуации. Използвайте функциите Decimal и Float , когато имате нужда от конкретен тип данни за конкретен сценарий, като например научно изчисление с много голямо число. За повече подробности относно работата с тези типове данни вижте раздела Числа на типове данни.

Различни езици интерпретират , и . различно. По подразбиране текстът се интерпретира в езика на текущия потребител. Можете да укажете езика, който да използвате с езиков маркер, като използвате същите езикови тагове, които се връщат от функцията Language.

Бележки за формата на низа:

  • Низът може да бъде префиксиран със символа на валутата за текущия език. Символът на валутата се игнорира. Валутните символи за други езици не се пренебрегват.
  • Низът може да включва знак за процент (%) в края, което показва, че е процент. Номерът ще бъде разделен на 100, преди да бъде върнат. Процентите и валутните символи не могат да се смесват.
  • Низът може да е в научна нотация, с 12 x 103 изразено като "12e3".

Ако номерът не е в правилен формат, тези функции ще върнат грешка.

За да преобразувате стойности за дата и час, използвайте DateValue, TimeValue или DateTimeValue функции.

Синтаксис

Decimal( Низ [, Етикет на езика ] )
Float( Низ [, Етикет на езика ] )
Value( Низ [, Етикет на езика ] )

  • Стринг - Задължителен. Низ за преобразуване в числова стойност.
  • LanguageTag - По избор. Езиковият маркер, в който да се анализира низът Ако не е указан, езикът на текущия потребител се използва.

Decimal( Динамично )
Float( Динамично )
Value( Динамично )

  • Динамична – задължително. Динамична стойност, която представя число. Приемливите стойности зависят от нетипизирания доставчик. За JSON се очаква динамичната стойност да бъде JSON число, булева стойност или текст, който може да бъде преобразуван в число. Имайте предвид, че форматите, свързани с локала, са важни съображения, когато комуникирате с външни системи.

Примери

Потребителят, използващ тези формули, се намира в Съединените щати и е избрал английски за свой език. Функцията Language се връща „en-US“. Хостът на Power Fx използва Decimal по подразбиране.

Value и Decimal

Тъй като използваме хост, който има Decimal стойност по подразбиране, Value и Decimal ще върне същите резултати.

Формула Описание Result
Value( "123.456" )
Decimal( "123.456" )
Ще се използва езикът по подразбиране на „en-US“, който използва период като десетичен разделител. 123,456 г. (Decimal)
Value( "123,456"; "es-ES" )
Decimal( "123,456"; "es-ES" )
"es-ES" е езиковият етикет за испански в Испания. В Испания един период е разделител за хиляди. 123456 (Decimal)
Value( "123,456" )
Decimal( "123,456" )
Ще се използва езикът по подразбиране на „en-US“, който използва запетая като разделител за хилядни. 123456 (Decimal)
Value( "123 456"; "es-ES" )
Decimal( "123 456"; "es-ES" )
"es-ES" е езиковият етикет за испански в Испания. В Испания запетая е десетичният разделител. 123,456 г. (Decimal)
Value"12,34%" )
Decimal"12,34%" )
Знакът за процент в края на низа показва, че това е процент. 0.1234 г. (Decimal)
Value( "$ 12,34 ")
Decimal( "$ 12,34 ")
Символът на валутата за текущия език се игнорира. 12,34 ч. (Decimal)
Value( "24e3" )
Decimal( "24e3" )
Научна нотация за 24 х 103. 24000 г. (Decimal)
ValueТова е вярно.
DecimalТова е вярно.
Преобразува булево в число, 0 за невярно и 1 завярно 1 Decimal

Float

Функцията Float ще има много близки до същите резултати като по-горе. Тъй като 123.456 не може да бъде представен прецизно в Float, резултатът е приближение, което е много близко (123,45600000000003069544618484E2) и усложнените изчисления за закръгляване могат да доведат до неочакван резултат. Вместо това ще бъде Float полученият тип.

Нещата се разминават, ако се използват по-големи или по-малки числа.

Формула Описание Result
Float( 1e100 ) Тъй като литералното число 1e100 е извън диапазона на Decimal, това води до грешка преди извикването на Float функцията. грешка (препълване)
Decimal( 1e100 ) Същия проблем като с функцията Float . грешка (препълване)
Float" " 1e100 " ) Числото в текстовия низ е в диапазона от Float числа. 1e100 г. Float
Decimal" " 1e100 " ) Числото в текстовия низ е извън диапазона от Decimal числа. грешка (препълване)
Float( "10000000000.0000000001" ) Числото в текстовия низ е в диапазона от Float числа. Въпреки това числото изисква по-голяма точност, отколкото може да се Float предостави, и ще бъде отрязано. 1 () От 1 до 2009Float г
Decimal( "10000000000.0000000001" ) Числото в текстовия низ е в диапазона и точността на Decimal числата. 10000000000.0000000001 (Decimal)