Перейти к содержанию

Форматирование

Материал из Химсофт Вики
Версия от 10:04, 16 октября 2026; Sidminik (обсуждение | вклад) (Новая страница: «= Форматирование = == Format == {|class="wikitable" style="background-color: #fff;" |- ! Функция !! Параметры !! Возвращаемое значение |- | <code>Format</code> || <code>string format, params object[] args</code> || <code>string</code> |} Заменяет каждый элемент формата в указанной строке <code>format</code> значением соответствующего па...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)

Форматирование

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