Делите путем


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

Функције Односи се на
Decimal
Float
Цопилот Студио Десктоп тече Колоне формуле Датаверсе Повер Платформ ЦЛИ Датаверсе функције
Value Апликације за платно Цопилот Студио Десктоп токови Колоне формуле Датаверсе Апликације засноване на моделу Повер Платформ ЦЛИ Датаверсе функције Повер Пагес

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

Опис

Белешка

Повер Аппс подржава Value само функцију и враћа вредност. Float Подршка за DecimalFloat и функције ће бити додат ускоро.

Користите Decimal, Float, и Value функције да бисте претворили низ текста који садржи бројчане знакове у нумеричку вредност. Користите ову функцију када је потребно извршити прорачуне на бројевима које је корисник унио као текст. Ове функције се такође могу користити за претварање других типова у број, као што су датум / време и Боолеан.

Функција Value ће вратити подразумевани нумерички тип података за Повер Фк хост који користите, што је обично Decimal и најбољи избор за већину ситуација. Користите Decimal и Float функције када вам је потребан одређени тип података за одређени сценарио, као што је научни прорачун са веома великим бројем. За више детаља о раду са овим типовима података, погледајте Бројеви одељак Типови података.

Различити језици се тумаче , и . различито. Подразумевано се текст тумачи на језику тренутног корисника. Можете да одредите језик који се користи са ознаком за језик користећи исте језичке ознаке које је вратила функција Language.

Напомене о формату низа:

  • Низ може да носи префикс симбола валуте за тренутни језик. Симбол валуте се игнорише. Симболи валуте за друге језике се не занемарују.
  • Стринг може укључивати знак процента ( %) на крају, што указује да је то проценат. Број ће бити подељен са 100 пре него што буде враћен. Проценти и симболи валуте не могу се мешати.
  • Низ може бити у научној нотацији, са 12 x 103 изражено као "12e3".

Ако број није у одговарајућем формату, ове функције ће вратити грешку.

Да бисте конвертовали вредности датума и времена, користите функције DateValue, TimeValue или DateTimeValue.

Синтакса

Decimal( стринг [, ЛангуагеТаг ] )
Float( стринг [, ЛангуагеТаг ] )
Value( стринг [, ЛангуагеТаг ] )

  • Стринг - Обавезно. Ниска за конвертовање у нумеричку вредност.
  • ЛангуагеТаг - Опционо. Ознака језика у којој ће се анализирати низ. Ако није наведено, користи се језик тренутног корисника.

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

  • Динамички - Обавезно. Динамичка вредност која представља број. Прихватљиве вредности зависе од добављача нетипизираног садржаја. За ЈСОН, очекује се да ће динамичка вредност бити ЈСОН број, боолеан или текст који се може претворити у број. Имајте на уму да формати повезани са локалним стандардима представљају важна питања приликом комуникације са спољним системима.

Примери

Корисник који покреће ове формуле налази се у Сједињеним Државама и за свој је језик одабрао енглески. Функција Language враћа "en-US". Повер Фк хост користи Decimal подразумевано.

Value И Decimal

Пошто користимо домаћина који има Decimal као подразумевани Value и Decimal вратиће исте резултате.

Формула Опис Резултат
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 x 103. 24000 ( Decimal)
Value( истина )
Decimal( истина )
Претвара Боолеан у број, 0 за лажно и 1 за истинито 1 Decimal

Float

Функција Float ће имати врло близу истих резултата као горе. Пошто 123.456 не може бити прецизно представљен у Float, резултат је апроксимација која је веома близу (123.456000000000003069544618484E2) и сложени прорачуни грешака заокруживања може довести до неочекиваног резултата. Добијени тип ће бити Float уместо тога.

Где се ствари разилазе је ако се користе већи или мањи бројеви.

Формула Опис Резултат
Float( 1E100 ) Зато што је буквални број 1e100 изван опсега а Decimal, ово резултира грешком пре него што икада позове функцију Float . грешка (преливање)
Decimal( 1E100 ) Исти проблем као и са функцијом Float . грешка (преливање)
Float( "1e100" ) Број у текстуалном низу је у опсегу бројева Float . 1E100 Float
Decimal( "1e100" ) Број у текстуалном низу је изван опсега Decimal бројева. грешка (преливање)
Float( "10000000000.0000000001" ) Број у текстуалном низу је у опсегу бројева Float . Међутим , број захтева више прецизности него што може Float да обезбеди и да ће бити скраћен. 1 ( Float)
Decimal( "10000000000.0000000001" ) Број у текстуалном низу је унутар опсега и прецизности бројева Decimal . 10000000000 .00000000001 () Decimal