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


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

Отнася се за: Колони Dataverse с формули за приложения за платно Потоци на работния плот Приложения на компютъра Power Pages Power Platform на командването

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

Описание

Бележка

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

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

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

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

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

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

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

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

Синтаксис

Decimal( String [, LanguageTag ] )
Float( Низ [, LanguageTag ] )
Value( String [, LanguageTag ] )

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

Десетична ( невъведена )
Float ( невъведен)
Стойност ( невъведена )

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

Примери

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

Стойност и десетична запетая

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

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

Float

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

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

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