Функции "Десетична", "Флоатна" и "Стойност"

Отнася се за: Платно приложения Dataverse формула колони Desktop потоци Модел задвижване приложения Power Platform CLI

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

Описание

Бележка

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

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

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

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

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

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

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

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

Синтаксис

Decimal( String [, LanguageTag ] )
Float( String [, LanguageTag ] )
Value( String [, LanguageTag ] )

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

Десетично ( нетипизирано )
Float( Untyped )
Value( Untyped )

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

Примери

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

Стойност и десетично число

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

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

Float

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

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

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