Функции "Десетична", "Флоатна" и "Стойност"
Отнася се за: Платно приложения Dataverse формула колони Desktop потоци Модел задвижване приложения Power Pages 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 (десетично число) |