Поделиться через


Text функция

Применимо к: Приложения На основе холста Copilot Studio Desktop потоки формул dataverse, управляемые моделью приложений Power Platform CLI, функции Power Pages

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

Описание

Функция Text форматирует число или значение даты и времени на основе одного из следующих типов аргументов:

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

Подробнее см. статью о работе с датами и временем.

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

Предопределенные форматы даты и времени

Для этих примеров используются дата и время: вторник, 7 апреля, 2020 20:26:59.180, в часовом поясе UTC–7 часов.

Перечисление DateTimeFormat Описание Примеры (используя en-US)
Длинная дата Год с четырьмя цифрами, название месяца, дата месяца и день недели. Названия месяца и дня недели не сокращаются. "Вторник, 7 апреля 2020 г."
ДлиннаяДатаВремя Год из четырех цифр, название месяца, день месяца и день недели, а также часы (в 12-часовом формате), минуты, секунды и обозначение AM/PM. Названия месяца и дня недели не сокращаются. "Вторник, 7 апреля 2020 г. 8:26:59 вечера"
ДлиннаяДатаВремя24 Год из четырех цифр, месяц, день месяца и день недели, а также часы (в 24-часовом формате), минуты и секунды. Названия месяца и дня недели не сокращаются. "Вторник, 7 апреля 2020 20:26:59"
Много времени Часы (в 12-часовом формате), минуты, секунды и обозначение AM/PM. "8:26:59 вечера"
LongTime24 Часы (в 24-часовом формате), минуты и секунды. "20:26:59"
Короткая дата Четыре цифры года с цифровым обозначением месяца и день месяца. "4/7/2020"
КороткаяДатаВремя Четыре цифры года с числовым обозначением месяца и день месяца, а также часы (в 12-часовом формате), минуты, секунды и обозначение AM/PM. "4/7.2020 8:26 вечера"
КороткаяДатаВремя24 Четыре цифры года с числовым обозначением месяца и день месяца, а также часы (в 24-часовом формате) и минуты. "4/7/2020 20:26"
Короткий срок Часы (в 12-часовом формате), минуты и обозначение AM/PM. "8:26 вечера"
Короткий срок24 Часы (в 24-часовом формате) и минуты. "20:26"
универсальное глобальное время Значение даты и времени преобразуется в формат UTC на основе часового пояса для текущего пользователя и форматируется в соответствии со стандартом ISO 8601. "2020-04-08T03:26:59.180Z"

Заполнители для чисел

Заполнитель Описание
0 (ноль) Отображает незначащие нули, если число имеет меньше разрядов, чем количество нулей в строке форматирования. Например, формат #.00 позволяет отобразить значение 8,9 как 8,90.
# Работает так же, как 0 (ноль). Однако не возвращает дополнительные нули, Text если число имеет меньше цифр в обеих сторонах десятичного разряда, чем символы # в формате. Например, число 8,9 при использовании формата #.## будет отображаться как 8,9.
. (точка) Отображает символ десятичного разделителя. Поведение этого символа зависит от языка пользовательского формата, подробные сведения см. в разделе Глобальные приложения.
, (запятая) Отображает символ разделителя разрядов, обычно отделяющий значения тысяч. Text разделяет группы по запятой, если формат содержит запятую, заключенную знаками чисел (#) или нулями. Поведение этого символа зависит от языка пользовательского формата, подробные сведения см. в разделе Глобальные приложения.

Если число имеет больше разрядов справа от десятичного разделителя, чем количество заполнителей в строке форматирования, число округляется до стольких десятичных разрядов, сколько указано заполнителей. Если число имеет больше разрядов слева от десятичного разделителя, чем количество заполнителей в строке форматирования, отображаются все дополнительные цифры. Если в строке форматирования слева от десятичной запятой указаны только символы номера (#), числа меньше 1 начинаются с десятичного разделителя (например, .47).

Заполнители даты и времени

Заполнитель Описание
m Отображает месяц в виде числа без нуля в начале.
mm Отображает месяц в виде числа с нулем в начале, если требуется.
mmm Отображает сокращенное название месяца (от янв до дек).
mmmm Отображает полное название месяца (от января до декабря).
d Отображает день месяца в виде числа без нуля в начале.
dd Отображает день месяца в виде числа с нулем в начале, если требуется.
ddd Отображает сокращенное название дня недели (от вс до сб).
dddd Отображает полное название дня недели (от воскресенья до субботы).
yy Отображает год в виде двузначного числа.
yyyy Отображает год в виде четырехзначного числа.
h Отображает время в виде числа без нуля в начале.
hh Отображает часы в виде числа с нулем в начале, если требуется. Если строка форматирования содержит обозначения AM или PM, часы отображаются в 12-часовом формате. В противном случае часы отображаются в 24-часовом формате.
m Отображает минуты в виде числа без нуля в начале.

Этот заполнитель должен отображаться сразу после кода h или hh или непосредственно перед кодом ss ; Text в противном случае возвращает месяц вместо минут.
mm Отображает минуты в виде числа с нулем в начале, если требуется.

Этот заполнитель должен располагаться сразу после символов h или hh или непосредственно перед символами ss. Text В противном случае возвращает месяц вместо минут.
s Отображает секунды в виде числа без нуля в начале.
ss Отображает секунды в виде числа с нулем в начале, если требуется.
f Отображает доли секунды.
AM/PM,a/p Отображает часы в 12-часовом формате. Text возвращает значение "AM" или "a" в течение полуночи до полуночи и "PM" или "p" время от полудня до полуночи

Литеральные заполнители

В строку форматирования можно включить также перечисленные ниже символы. Они будут отображаться в результате Text как есть. Остальные символы зарезервированы для новых заполнителей, поэтому их не следует использовать.

Символ Описание
Любой символ валюты Знак доллара, знак центов, знак евро, и т. д.
+ Знак "плюс"
( Левая круглая скобка
: Двоеточие
^ Диакритический знак циркумфлекс (крышка)
' Апостроф
{ Левая фигурная скобка
< Знак "меньше"
= Знак "равно"
- Знак "минус"
/ Косая черта
) Правая круглая скобка
& Амперсанд
~ Тильда
} Правая фигурная скобка
> Знак "больше"
  Символ пробела

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

Функция Text глобально учитывается. Во многих языках она используется для правильного оформления дат, времени, валют и чисел. Чтобы сделать все правильно, ей нужны два блока информации.

  • Язык пользовательского формата: Как следует интерпретировать пользовательский формат для производителей? Знаки разделителей (. и ,) имеют разные значения в разных языках. Если вы указываете пользовательский формат, вы можете включить языковой заполнитель или принять значение по умолчанию, которое отражает язык, который установлен в вашем устройстве. Еще проще, вы можете использовать один из предопределенных форматов даты и времени, которые не зависят от языка.
  • Язык результата: На каком языке должен отображаться результат функции для пользователей? Имена месяцев и дней недели должны находиться на соответствующем языке для пользователя приложения, который можно указать, добавив третий необязательный аргумент в Text функцию.

Для обоих вы указываете язык с помощью языкового тега. Чтобы просмотреть список поддерживаемых языков, введите Text(1234, "", ) на панели формул или на вкладке "Дополнительно " правой панели, а затем прокрутите список языковых стандартов, предлагаемых для третьего аргумента.

Заполнитель языка

Чтобы указать язык пользовательского формата, используйте следующий синтаксис.

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

Заполнитель с указанием языка может находиться в любом месте пользовательской строки форматирования, но должен встречаться только один раз.

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

[$-en-US] предполагается, если этот заполнитель отсутствует при запуске вашего приложения.

Заметка

В будущих версиях синтаксис этого заполнителя может быть изменен, чтобы избежать путаницы с аналогичным заполнителем другого формата, который поддерживается в Excel.

Тег для языка результата

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

По умолчанию Text используется язык пользователя, выполняющего приложение. Функция Language возвращает тег языка для текущего пользователя. Это значение по умолчанию можно переопределить, указав тег языка для третьего аргумента Text.

Синтаксис

Text( NumberOrDateTime, DateTimeFormatEnum [, ResultLanguageTag ] )

  • NumberOrDateTime - Обязательно. Числовое значение или значение даты и времени, которое нужно отформатировать.
  • DateTimeFormat - Обязательно. Значение из перечисления DateTimeFormat.
  • ResultLanguageTag - Необязательно. Тег языка для форматирования результата. По умолчанию используется язык текущего пользователя.

Text( NumberOrDateTime, CustomFormat [, ResultLanguageTag ] )

  • Номер - Обязательно. Числовое значение или значение даты и времени, которое нужно отформатировать.
  • CustomFormat - Обязательно. Один или несколько заполнителей, заключенные в двойные кавычки.
  • ResultLanguageTag - Необязательно. Тег языка для форматирования результата. По умолчанию используется язык текущего пользователя.

Text( AnyValue )

  • Любое значение - Обязательно. Значение для преобразования в текстовое представление. Формат по умолчанию используется.

Text ( Динамический )

  • Динамический — обязательный. Динамическое значение, представляющее строку. Допустимые значения зависят от нетипизированного поставщика. Для JSON, если динамическое значение является числом или логическим значением, оно будет преобразовано в текст.

Примеры

Если не указано иное, пользователь, выполняющий эти формулы, находится в США и использует английский язык. Функция Language возвращает значение "en-US".

Номер

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

Дата и время

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

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

Формула Описание Результат
Text(1234567.89, "[$-fr-FR]# ###,## €", "fr-FR") Показывает пробел как разделитель групп, запятую как десятичный разделитель и как символ валюты. "1 234 567 89 евро"
Text(1234567,89; "[$-fr-FR]# ###,### €") Если исходные данные следуют французскому правилу использования запятой в качестве десятичного разделителя, вы должны изменить свой языковой стандарт на французский и отделить аргументы точкой с запятой вместо запятой, чтобы получить тот же результат, что и выше. "1 234 567 89 евро"
Text( Дата(2016,1,31), "dd mmmm d" ) Возвращает день недели, месяц и день месяца на языке текущего пользователя. Так как все эти заполнители не зависят от языка, указывать тег языка в строке форматирования не требуется. "Воскресенье, Январь 31"
Text( Date(2016,1,31), "dd mmmm d", "es-ES" ) Возвращает день недели, месяц и день месяца на языке "es-ES". "Domingo enero 31"

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

Формула Описание Результат
Text( 1234567.89 ) Преобразует число в строку. Не существует разделителей тысяч или контроля над количеством цифр до или после десятичного разделителя; для большего контроля укажите заполнители числа в качестве второго аргумента. "1234567.89"
Text( DateTimeValue( "01.04.2003" ) ) Преобразует значение даты/времени в строку текста. Для управления преобразованием укажите либо элемент перечисления DateTimeFormat, либо строку пользовательского формата. "1.4.2003 12:00"
Text(true) Преобразует логическое значение в строку. "true"
Text( GUID() ) Преобразует созданное значение GUID в строку. "f8b10550-0f12-4f08-9aa3-bb10958bc3ff"
Left( TextGUID() ), 4 ) Возвращает первые четыре символа сгенерированного GUID. "2d9c"