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


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

Застосовується до: програм Canvas Стовпців формул програм Dataverse Canvas Програм, Power Platform керованих моделлю, CLI

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

Опис

Функція 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)
LongDate Чотиризначний рік, назва місяця, день місяця і день тижня. Назви місяця та дня тижня не скорочені. "Вівторок, 7 квітня 2020 р."
LongDateTime Чотиризначний рік, назва місяця, день місяця та день тижня, а також година (12-годинний формат), хвилини, секунди та позначення AM/PM. Назви місяця та дня тижня не скорочені. "Вівторок, 7 квітня 2020 р. 8:26:59 PM"
LongDateTime24 Чотиризначний рік, місяць, день місяця та день тижня, а також година (24-годинний формат), хвилини та секунди. Назви місяця та дня тижня не скорочені. "Вівторок, 7 квітня 2020 р. 20:26:59"
LongTime Година (12-годинний формат), хвилини, секунди і позначення AM/PM. "8:26:59 PM"
LongTime24 Година (24-годинний формат), хвилини, секунди. "20:26:59"
ShortDate Чотиризначний рік з числовим значенням місяця і днем місяця. "4/7/2020"
ShortDateTime Чотиризначний рік з числовим значенням місяця і днем місяця, а також година (12-годинний формат), хвилини та позначення AM/PM. "4/7/2020 8:26 PM"
ShortDateTime24 Чотиризначний рік з числовим значенням місяця і днем місяця, а також година (24-годинний формат) та хвилини. "4/7/2020 20:26"
ShortTime Година (12-годинний формат), хвилини і позначення AM/PM. "8:26 PM"
ShortTime24 Година (24-годинний формат) і хвилини. "20:26"
UTC Значення дати та часу буде перетворено на 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 поверне місяць, а не хвилини.
с Відображає секунди у вигляді числа без нуля на початку.
ss Відображає секунди у вигляді числа з нулем на початку у відповідних випадках.
f Відображає частки секунд.
AM/PM, a/p Відображає годину в 12-годинному форматі. Функція Text повертає «AM» або «a» для часу з півночі до полудня і «PM» або «p» для часу з полудня до півночі

Заповнювачі для літералів

У рядок формату можна додати будь-які з цих символів. Вони відобразяться в результаті функції Text без змін. Додаткові символи зарезервовано для майбутніх заповнювачів, тому їх не можна використовувати.

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

Глобальні програми

Функція Text орієнтується на весь світ. Вона вміє правильно писати дати, час, грошові одиниці та числа для широкого набору мов. Для роботи їй потрібні такі дані:

  • Мова настроюваного формату: для розробників, як слід інтерпретувати настроюваний формат? Символи-роздільники (. і ,) мають різні значення в різних мовах. Якщо ви вказали настроюваний формат, ви можете включити заповнювач мови або скористатися стандартним значенням, яке відповідає мові вашого пристрою. Або ще простіше: ви можете використати один із попередньо визначених форматів дати/часу, які незалежні від мови.
  • Мова результату: для користувачів, якою мовою має бути результат функції? Назви місяців і днів тижня мають відображатися відповідною мовою для користувача програми, яку можна вказати, додаючи третій, необов’язковий аргумент до функції Text.

Для обох параметрів ви вказуєте мову за допомогою тега мови. Щоб переглянути список підтримуваних мов, введіть Text( 1234, "", ) у рядку формул або на вкладці Додатково в області праворуч, а потім прокрутіть список мов, що пропонуються для третього аргументу.

Заповнювач мови

Щоб вказати мову настроюваного формату, використайте:

Заповнювач Опис
[$-LanguageTag] 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 ] )

  • Number — обов’язковий аргумент. Число або значення дати й часу для форматування.
  • CustomFormat — обов’язковий аргумент. Один або кілька заповнювачів, взятих у подвійні лапки.
  • ResultLanguageTag — необов’язковий аргумент. Тег мови для тексту результату. За замовчуванням використовується мова поточного користувача.

Text( AnyValue )

  • AnyValue — обов’язковий аргумент. Значення, яке потрібно перетворити на подання тексту. Використовується стандартний формат.

Text ( Untyped )

  • Untyped – обов’язковий аргумент. Нетипізований об’єкт, який відображає рядок. Прийнятні значення залежать від нетипізованого постачальника. Для 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, "$ #,###" )
Розташовує роздільник тисяч через кожні три цифри, а також включає символ грошової одиниці. "$ 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 замінюється на одну чи дві цифри, що позначають день місяця
  • - копіюється до результату як літеральний символ
  • mmm означає трибуквену абревіатуру місяця
  • - копіюється до результату як ще один літеральний символ
  • yy замінюється на абревіатуру року з двох цифр
"23-лис-15"
Text(1448318857*1000, "mmm. dd, yyyy (hh:mm:ss AM/PM)") Показує значення дати й часу Unix у форматі, який може прочитати людина, якщо помножити вихідне значення на 1000. "23 лис 2015 р. (02:47:37 PM)"

Глобальні програми

Формула Опис Результат
Text(1234567.89, "[$-fr-FR]# ###,## €", "fr-FR") Показує пробіл як роздільник групування, кому як десятковий роздільник, а — як символ грошової одиниці. "1 234 567,89 €"
Text(1234567,89; "[$-fr-FR]# ###,## €") Якщо вихідні дані дотримуються французького звичаю використання коми як десяткового роздільника, необхідно змінити локалізацію на французьку та відокремлювати аргументи крапкою з комою замість коми, щоб отримати такий самий результат, як вище. "1 234 567,89 €"
Text( Date(2016,1,31), "dddd mmmm d" ) Повертає день тижня, місяць і день місяця мовою поточного користувача. Оскільки жоден із заповнювачів не залежить від мови, не потрібно вказувати тег мови для форматування тексту. "Неділя Січень 31"
Text( Date(2016,1,31), "dddd 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 AM"
Text( true ) Перетворює логічне значення на рядок. "true"
Text( GUID() ) Перетворює значення згенерованого ідентифікатора GUID на рядок. "f8b10550-0f12-4f08-9aa3-bb10958bc3ff"
Left( Text( GUID() ), 4 ) Повертає перші чотири символи згенерованого ідентифікатора GUID. "2d9c"