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


Текстова функция

Отнася се за: Приложения за платно Колони с формули за приложения Dataverse за платно Управлявани от модел приложения Power Pages Power Platform CLI

Преобразува всяка стойност и форматира число или стойност дата / час в низ от текст.

Описание

Функцията Text форматира число или стойност дата / час въз основа на един от тези типове аргументи:

  • Предварително определен формат за дата / час, който определяте с помощта на DateTimeFormat изброяване. За дати и часове се предпочита този подход, тъй като той автоматично се приспособява към езика и региона на всеки потребител.
  • Персонализиран формат, който съдържа низ от заместители, които определят например дали числата показват десетичен разделител, а датите показват пълното име на месеца, месеца като абревиатура или месеца като число. Power Apps поддържа подмножество от заместители, които Microsoft Excel прави. В този низ низовият заместител на езика указва езика, на който да интерпретира другите заместители. Ако персонализираният формат включва период, например, задържателят на езиков формат указва дали периодът е десетичен разделител (ja-JP) или разделител за хиляди (es-ES).

Вижте работа с дати и часове за повече информация.

Функцията Text може също да преобразува всеки тип данни в текстово представяне, използвайки формат по подразбиране. Използвайте това, за да предавате нетекстови стойности на текстови функции, като например Len, Right и IsMatch.

Предварително определени формати за дата/час

За тези примери използваната дата и час е вторник, 7 април, 2020 8:26:59.180, във часовата зона UTC-7 часа.

DateTimeFormat enum Описание Примери (използване en-US)
Дълга дата Четирицифрена година, име на месец, ден от месеца и ден от седмицата. Имената на месеца и ден от седмицата не се съкращават. „Вторник, 7 април 2020 г.“
LongDateTime Четирицифрена година, име на месец, ден от месеца и ден от седмицата, плюс час (12-часов часовник), минути, секунди и AM / PM обозначение. Имената на месеца и ден от седмицата не се съкращават. „Вторник, 7 април 2020 г. 8:26:59 PM“
ДългаДатаЧас24 Четирицифрена година, месец, ден от месеца и ден от седмицата, плюс час (24-часов часовник), минути и секунди. Имената на месеца и ден от седмицата не се съкращават. „Вторник, 7 април 2020 г. 20:26:59“
Дългогодишен Час (12-часов часовник), минути, секунди и AM / PM обозначение. "8:26:59 PM"
Дългосрочен24 Час (24-часов часовник), минути, секунди. "20:26:59"
Кратка дата Четирицифрена година с цифров месец и ден от месеца. "4/7/2020"
ShortDateTime Четирицифрена година с числов месец и ден от месеца, плюс час (12-часов часовник), минути и AM / PM обозначение. "4/7/2020 8:26 PM"
КъсаДатаЧас24 Четирицифрена година с числов месец и ден от месеца, плюс час (24-часов часовник) и минути. "4/7/2020 20:26"
Кратко време Час (12-часов часовник), минути и AM / PM обозначение. "8:26 PM"
КраткоВреме24 Час (24-часов часовник) и минути. "20:26"
UTC Стойността на дата / час се преобразува в UTC въз основа на часовата зона на текущия потребител и се форматира в съответствие със стандарта ISO 8601. "2020-04-08T03:26:59.180Z"

Контейнери на числа

Контейнер Описание
0 (нула) Показва незначителни нули, ако числото има по-малко цифри, отколкото има нули във формата. Например, използвайте формата #.00, ако искате да покажете 8.9 като 8.90.
# Следва същите правила като 0 (Нула). Въпреки това, Текст не връща допълнителни нули, когато числото има по-малко цифри от двете страни на десетичната, отколкото има # символа във формата. Например, 8.9 се показва, ако персонализираният формат е #.## и числото за форматиране е 8.9.
. (точка) Показва десетичната запетая в число. Зависи от езика на персонализирания формат; вижте глобални приложения за повече информация.
, (запетая) Показва разделителя за групиране в число, често използвано за хиляди. Текстът разделя групите със запетаи, ако форматът съдържа запетая, която е оградена с цифрови знаци (#) или с нули. Зависи от езика на персонализирания формат; вижте глобални приложения за повече информация.

Ако числото има повече цифри вдясно от десетичната запетая, отколкото има задържания във формата, числото се закръгля до толкова десетични знаци, колкото има задържащи места. Ако вляво от десетичната запетая има повече цифри, отколкото има заставки, се извеждат допълнителните цифри. Ако форматът съдържа само цифрови знаци (#) вляво от десетичната запетая, числата по-малки от 1 започват с десетична запетая (например, .47).

Контейнери за дата и час

Контейнер Описание
m Показва месеца като число без водеща нула.
Мм Показва месеца като число с водеща нула, когато е подходящо.
Ммм Показва месеца като съкращение (Яну до Дек).
мммм Показва месеца като пълно име (януари до декември).
d Показва деня като число без водеща нула.
дд Показва деня като число с водеща нула, когато е подходящо.
ддд Показва деня като съкращение (Нед до Съб).
дддд Показва деня като пълно име (неделя до събота).
Гг Показва годината като двуцифрено число.
гггг Показва годината като четирицифрено число.
h Показва часа като число без водеща нула.
hh Показва часа като число с водеща нула, когато е подходящо. Ако форматът съдържа AM или PM, часът се показва въз основа на 12-часов часовник. В противен случай часът се показва въз основа на 24-часов часовник.
m Показва минутата като число без водеща нула.

Този заместител трябва да се появи веднага след h или hh код или непосредствено преди ss код; в противен случай, Text връща месеца вместо минути.
Мм Показва минутата като число с водеща нула, когато е подходящо.

Този заместител трябва да се появи веднага след h или hh заместител или непосредствено преди ss контейнер. В противен случай, Текст връща месеца вместо минути.
s Показва секундата като число без водеща нула.
СС Показва секундата като число с водеща нула, когато е подходящо.
f Показва фракциите от секунди.
AM/PM,a /p Показва часа въз основа на 12-часов часовник. Текстът връща "AM" или "a" за часовете от полунощ до обяд и "PM" или "p" за часовете от обяд до полунощ

Буквални заместители

Можете да включите всеки от тези знаци във вашия формат низ. Те ще се появят в резултат на Text както е. Допълнителните символи са запазени за бъдещи задържатели, така че не трябва да ги използвате.

Знак Описание
Всеки символ на валута Знак на долара, знак на цента, знак на евро и т.н.
+ Плюс знак
( Лява скоба
: Двоеточие
^ Circumflex акцент (карета)
' Апостроф
{ Лява къдрава скоба
< „По-малко от” знак
= Знак за равенство
- Знак минус
/ Наклонена черта
) Дясна скоба
& Амперсанд
~ Тилда
} Дясна къдрава скоба
> „По-голямо от” знак
  Знак за интервал

Глобални приложения

Функцията Text е глобално осъзната. За широк спектър от езици той знае как правилно да изписва дати, часове, валути и числа. За да си върши работата, тя се нуждае от две части информация:

  • Езикът на персонализирания формат: За производителите, как трябва да се интерпретира персонализиран формат? Разделителните знаци (. и ,) имат различно значение на различните езици. Ако посочите персонализиран формат, можете да включите езиков заместител или да вземете стойността по подразбиране, която отразява езика, на който е настроено устройството ви. Още по-лесно можете да използвате един от предварително определени формати за дата / час, които са езиков агностик.
  • Езикът на резултата: За потребителите, на какъв език трябва да се показва резултатът от функцията? Имената на месеците и делничните дни трябва да бъдат на подходящия език за потребителя на приложението, който можете да зададете, като добавите трети, незадължителен аргумент към Text функция.

И за двете зададете езика, като използвате language tag. За да видите списъка с поддържани езици, въведете Текст (1234, "", ) в лентата с формули или Разширени в десния прозорец и след това превъртете списъка с локали, предложени за третия аргумент.

Заместител на език

За да посочите езика на персонализирания формат, използвайте:

Контейнер Описание
[$-LanguageTag] LanguageTag е езиков етикет, върнат от функцията Language . Той може да посочи само езика (като например [$-en] за английски) или може също така да посочи региона (като например [$-en-GB] за по-нататъшно уточняване на Великобритания).

Заместителят на езика може да се появи навсякъде в персонализиран формат, но само веднъж.

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

[$-bg-US] се приема, ако този контейнер не присъства, когато приложението ви се изпълнява.

Бележка

В бъдеща версия синтаксисът на този заместител може да се промени, за да се избегне объркване с подобен, но различен, заместител на място, който Excel поддържа.

Етикет на езика на резултата

Резултатът от Text включва преведени низове за месеци, делнични дни и AM / PM обозначения, както и съответните групи и десетични разделители.

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

Синтаксис

Text( NumberOrDateTime; DateTimeFormatEnum [, ResultLanguageTag ] )

  • NumberOrDateTime - Задължително. Числото или стойността на датата / часа за форматиране.
  • DateTimeFormat - Задължително. Член на DateTimeFormat изброяване.
  • ResultLanguageTag - По избор. Езиковият маркер, който да се използва за резултата текст. По подразбиране се използва езикът на текущия потребител.

Text( NumberOrDateTime; CustomFormat [, ResultLanguageTag ] )

  • Брой - Задължително. Числото или стойността на датата / часа за форматиране.
  • CustomFormat - Задължително. Един или повече заместители, затворени в двойни кавички.
  • ResultLanguageTag - По избор. Езиковият маркер, който да се използва за резултата текст. По подразбиране се използва езикът на текущия потребител.

Текст ( всяка стойност )

  • AnyValue - Изисква се. Стойност за преобразуване в текстово представяне. Използва се формат по подразбиране.

Текст ( невъведен)

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

Примери

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

Номер

Формула Описание Резултат
Текст( 1234.59, "####.#" ) Форматира числото с една десетична запетая. "1234.6"
Текст( 8.9, "#.000" ) Подложете десетичната част на числото с последващи нули, ако е необходимо. "8.900"
Текст( 0.631, "0.#" ) Подложете цялата част на числото с водещи нули, ако е необходимо. "0.6"
Текст( 12, "#.0#" )
Текст( 1234.568, "#.0#" )
Подрежда десетичната част на числото с нули за един десетичен знак и включва втори десетичен знак, ако е предоставен. "12.0"
"1234.57"
Текст( 12000, "$ #,###" )
Text( 1200000, "$ #,###" )
Поставя разделител за хиляди на всеки три цифри и включва символ на валута. "$ 12,000"
"$ 1,200,000"

Дата/час

  • В 2:37:47 PM в Понеделник, 23 ноември 2015 г.
  • Тихоокеанска часова зона на САЩ (UTC-8)
Формула Описание Резултат
Text( Now(), DateTimeFormat.LongDate ) Форматира се като дълъг низ за дата на езика и езика на текущия потребител. „Понеделник, 23 ноември 2015 г.“
Text( Now(), DateTimeFormat.LongDateTime ) Форматира се като дълъг низ за дата и час на езика и езика на текущия потребител с помощта на 12-часов часовник. „Понеделник, 23 ноември 2015 г. 2:37:47 PM“
Text( Now(), DateTimeFormat.LongTime24 ) Форматира се като дълъг времеви низ, като се използва 24-часов часовник. "14:37:47"
Text( Now(), DateTimeFormat.ShortDate ) Форматира се като къс низ за дата на езика и езика на текущия потребител. "11/23/2015"
Text( Now(), "d-mmm-yy" ) Формати, използващи символи за заместители:
  • d за едноцифрен или двуцифрен ден от месеца
  • - като литерален знак, копиран в резултата
  • МММ за трибуквено съкращение на месеца
  • - като друг литерален знак, копиран в резултата
  • yy за двуцифрено съкращение на годината
"23-Nov-15"
Text(1448318857*1000, "mmm. dd, yyyy (hh:mm:ss AM/PM)") Показва стойността на Unix дата-време в четлив за човека формат, ако умножите стойността на източника на 1000. "Nov. 23, 2015 (02:47:37 PM)"

Глобални приложения

Формула Описание Резултат
Текст(1234567.89, "[$-fr-FR]# ###,##", € "fr-FR") Показва интервал като разделител за групиране, запетаята като десетичен разделител и като символ на валутата. "1 234 567,89 €"
Текст(1234567,89; "[$-fr-FR]# ###,##") € Ако изходните данни следват френския обичай да се използва запетая като десетичен разделител, трябва да промените локала си на френски и да разделите аргументите с запетая и вместо запетая, за да получите същия резултат като по-горе. "1 234 567,89 €"
Text( Date(2016,1,31), "dddd mmmm d" ) Връща делничния ден, месец и ден от месеца на езика на текущия потребител. Тъй като никой от запазените места не зависи от езика, няма нужда от етикет на текстовия език за формат. "Sunday January 31"
Text( Date(2016,1,31), "dddd mmmm d", "es-ES" ) Връща делничния ден, месец и ден от месеца на езика "es-ES". "domingo enero 31"

Преобразуване на стойности в текст

Формула Описание Резултат
Текст( 1234567.89 ) Преобразува число в низ. Няма хиляди разделители или контрол върху броя цифри преди или след десетичния разделител; за по-голям контрол, като втори аргумент, заместители на номера на доставката. "1234567.89"
Text( DateTimeValue( "01/04/2003" ) ) Преобразува стойност на дата / час на текстов низ. За да контролирате преобразуването, въведете или член на изброяването DateTimeFormat или низ за персонализиран формат. "1/4/2003 12:00 AM"
Текст( вярно ) Преобразува булева стойност в низ. "вярно"
Текст( GUID() ) Преобразува стойност на генериран GUID в низ. "f8b10550-0f12-4f08-9aa3-bb10958bc3ff"
Ляво( Текст( GUID() ), 4 ) Връща първите четири знака от генериран GUID. "2d9c"