String.Format

Синтаксис

Format(FormatString: String; Args: Array): String;

Параметры

FormatString. Формат представления элементов.

Args. Массив элементов, которые необходимо представить в заданном формате.

Описание

Метод Format возвращает строку, отформатированную в соответствии с заданными инструкциями.

Комментарии

Метод предназначен для форматирования различных чисел и даты/времени. Для различных типов данных можно использовать различные параметры форматирования. Все параметры форматирования указываются в параметре FormatString. Значения, которые необходимо отформатировать - в параметре Args. Каждое форматируемое значение в параметре FormatString указывается в следующем виде: {x[,y:Az]}.

{x[,y:Az]}
x Индекс элемента массива Args, к которому необходимо применить форматирование.
y Спецификатор выравнивания. Используется для форматирования целых и вещественных чисел. Определяет общую длину отформатированной строки с учетом дробной части и запятой.
A Параметры форматирования.
z Спецификатор точности. Используется для форматирования целые и вещественные числа. Определяет количество знаков дробной части.

Элементы формата y, А и z являются необязательными, если они не указаны, то возвращается значение без форматирования.

Параметры форматирования для чисел

Параметр форматирования Краткое описание
{0:G} Общий формат. Применяется для вывода выражений с фиксированной точностью. Число преобразуется в наиболее короткую запись из записи с фиксированной запятой или экспоненциальной записи, в зависимости от типа числа и наличия спецификатора точности. Если спецификатор точности не указан, то точность будет равна 9 знакам после запятой.
{0:F} Вывод значения с фиксированной точностью. По умолчанию значения выводятся с точностью до двух знаков.
{0:N} Стандартное числовое форматирование с использованием разделителей между разрядами. В качестве разделителя используется пробел.
{0:P} Процентный формат числа.

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

Параметр форматирования Краткое описание
{0:d} Краткий формат даты.
{0:D} Полный формат даты.
{0:t} Краткий формат времени.
{0:T} Полный формат времени.
{0:f} Полный формат даты и короткий времени.
{0:F} Полный формат даты и полный времени.
{0:g} Короткий формат даты и времени.
{0:G} Короткий формат даты и полный времени.

Пример

Sub UserProc;
Var
    Arr: Array Of Variant;
    s: String;
Begin
    Arr := New Variant[5];
    Arr[0] := Integer.MaxValue;
    Arr[1] := 123456.123456;
    Arr[2] := Math.Pi;
    Arr[3] := Decimal.MaxValue;
    Arr[4] := 0.5;
    s := String.Format("Числа с различным форматированием:" + #13 + #10 +
        "'{0:G1}' - с ограничением точности 1 знак; " + #13 + #10 +
        "'{1:F}' - с фиксированной точностью 2 знака; " + #13 + #10 +
        "'{2,8:F4}' - с фиксированной точностью и ограничением по длине; " + #13 + #10 +
        "'{3:N}' - форматирование с разделителем; " + #13 + #10 +
        "'{4:P}' - процентный формат." , Arr);
    Debug.WriteLine(s);
End Sub UserProc;

После выполнения примера в консоль среды разработки будет выведена следующая строка:

Числа с различным форматированием:

'2147483647,0' - с ограничением точности 1 знак;

'123456,12' - с фиксированной точностью 2 знака;

'  3,1416' - с фиксированной точностью и ограничением по длине;

'79 228 162 514 264 337 593 543 950 336,00' - форматирование с разделителем;

'50,00%' - процентный формат.

Sub UserProc;
Var
    d: DateTime;
    s, s1, s2, s3: String;
Begin
    d := DateTime.Compose(200611101230301);
    s := String.Format("{0:d}", d);
    s1 := String.Format("Сегодня {0:D}", d);
    s2 := String.Format("Время {0:t}", d);
    s3 := String.Format("{0:T}", d);
End Sub UserProc;

После выполнения примера в переменных s, s1, s2 ,s3 будут содержаться следующие значения:

Переменная Значение
s '10.11.2006'
s1 'Сегодня 10 ноября 2006 г.'
s2 'Время 12:30'
s3 '12:30:30'

См. также:

String