Форматирование
Форматирование
Format
| Функция | Параметры | Возвращаемое значение |
|---|---|---|
Format |
string format, params object[] args |
string
|
Заменяет каждый элемент формата в указанной строке format значением соответствующего параметра в массиве args.
Например, следующий вызов функции:
Format("Name = {0}, hours = {1:hh}", myName, DateTime.Now)
содержит элементы формата {0} и {1:hh}. Они заменяются значениями myName и DateTime.Now. Результат может выглядеть так:
Name = Alex, hours = 12
Элемент формата имеет следующий синтаксис:
{index[,alignment][:formatString]}
где
index— обязательный номер значения, которое будет подставлено в это место строки;alignment— необязательная ширина форматированного значения;formatString— необязательный спецификатор формата.
Для форматирования числовых значений используются следующие стандартные символы-спецификаторы:
| Символ | Тип | Описание |
|---|---|---|
| C или c | Валюта | Число преобразуется в строку, представляющую денежные единицы. Format("{0:C}", 10) = "10,00 ₽"
|
| D или d | Десятичное число | Этот формат доступен только для целых типов. Число преобразуется в строку, состоящую из десятичных цифр (0-9).Format("{0:D}", 10) = "10"
|
| E или e | Научный | Число преобразуется в строку вида -d.ddd…E+ddd или -d.ddd…e+ddd, где знак d представляет цифру (0-9).Format("{0:E}", 10) = "1,000000E+001"
|
| F или f | Фиксированная запятая | Число преобразуется в строку вида -ddd.ddd…, где знак d представляет цифру (0-9).Format("{0:F}", 10) = "10,00"
|
| G или g | Общий | Число преобразуется в наиболее короткую запись.Format("{0:G}", 10) = "10"
|
| N или n | Число | Число преобразуется в строку вида -d,ddd,ddd.ddd…, где знак d — цифра (0-9), знак , — разделитель тысяч, а знак . — разделитель целой и дробной части.Format("{0:N}", 1234.56) = "1 234,56"
|
| P или p | Процент | Число преобразуется в строку, представляющую проценты. Преобразуемое число умножается на 100, чтобы соответствовать процентам.Format("{0:P}", 0.15) = "15,00%"
|
| X или x | Шестнадцатеричный | Этот формат доступен только для целых типов. Число преобразуется в строку шестнадцатеричных знаков. Регистр шестнадцатеричных знаков, превосходящих 9, совпадает с регистром указателя формата.Format("{0:X}", 26) = "1A"
|
После символа-спецификатора формата можно указать число. Для чисел с плавающей запятой это будет означать количество знаков после запятой в форматированном значении:
Format("{0:C1}", 12.23) = "12,2 ₽"
Если стандартных средств форматирования чисел недостаточно, можно использовать символы настраиваемого числового формата:
| Символ | Описание |
|---|---|
| 0 | Знак-заменитель нуля. Если форматируемое значение содержит цифру в этой позиции, она копируется в выходную строку. В противном случае 0 отображается в выходной строке. |
| # | Заместитель цифры. Если форматируемое значение содержит цифру в этой позиции, она копируется в выходную строку. В противном случае в выходной строке ничего не записывается. |
| . | Разделитель дроби. Первый знак . в строке формата определяет положение разделителя дроби.
|
| , | Разделитель числовых разрядов. Знак , в строке формата определяет положение разделителя групп разрядов.
|
| % | Заместитель процентов. При использовании знака % в строке форматирования число будет умножено на 100, и в соответствующую позицию в выходной строке будет вставлен символ %.
|
| ; | Разделитель секций. Знак ; служит для разделения секций положительных, отрицательных и нулевых чисел в строке формата.
|
Примеры использования:
Format("{0:#,##0.00 ₽}", 1024.25) = "1 024,25 ₽"
Format("{0:00%}", 0.25) = "25%"
Format("{0:#,##0.00 ₽;(#,##0.00 ₽);Zero}", 1024.25) = "1 024,25 ₽"
Format("{0:#,##0.00 ₽;(#,##0.00 ₽);Zero}", -1024.25) = "(1 024,25 ₽)"
Format("{0:#,##0.00 ₽;(#,##0.00 ₽);Zero}", 0) = "Zero"
Для форматирования даты/времени используются следующие стандартные символы-спецификаторы:
| Символ | Тип | Пример |
|---|---|---|
| d | Короткий шаблон даты | "02.04.2024" |
| D | Полный шаблон даты | "2 апреля 2024 г." |
| f | Полный шаблон даты и времени (короткий шаблон времени) | "2 апреля 2024 г. 20:41" |
| F | Полный шаблон даты и времени (полный шаблон времени) | "2 апреля 2024 г. 20:41:33" |
| g | Общий шаблон даты и времени (короткий шаблон времени) | "02.04.2024 20:41" |
| G | Общий шаблон даты и времени (полный шаблон времени) | "02.04.2024 20:41:33" |
| t | Короткий шаблон времени | "20:41" |
| T | Полный шаблон времени | "20:41:33" |
Так же можно использовать символы настраиваемого формата даты/времени:
| Символ | Описание |
|---|---|
| d | Представляет день месяца в виде числа от 1 до 31. Одноразрядные числа форматируются без нуля в начале. |
| dd |