Функция Format – расширенное форматирование чисел и текста в строке

Функция Format в Delphi – расширенное форматирование чисел и текста в строке.

Функция Format: Показ всех форматируемых типов данных

var
  text : string;
begin
  // Только 1 элемент данных
  ShowMessage(Format('%s', ['Hello']));

  // Соединение символьного текста и элемента данных
  ShowMessage(Format('String = %s', ['Hello']));
  ShowMessage('');

  // Примеры каждого из типов данных
  ShowMessage(Format('Decimal          = %d', [-123]));
  ShowMessage(Format('Exponent         = %e', [12345.678]));
  ShowMessage(Format('Fixed            = %f', [12345.678]));
  ShowMessage(Format('General          = %g', [12345.678]));
  ShowMessage(Format('Number           = %n', [12345.678]));
  ShowMessage(Format('Money            = %m', [12345.678]));
  ShowMessage(Format('Pointer          = %p', [addr(text)]));
  ShowMessage(Format('String           = %s', ['Hello']));
  ShowMessage(Format('Unsigned decimal = %u', [123]));
  ShowMessage(Format('Hexadecimal      = %x', [140]));
end;

Функция Format: Используя индекс, ширину и значения точности

begin
  // Значение ширины диктует размер вывода
  // с пробелом, добавляющемся слева
  // Обратите внимание <>, символы добавляются, чтобы показать форматирование
  ShowMessage(Format('Padded decimal    = <%7d>', [1234]));

  // С '-' оператором, данные выравниваются влево
  ShowMessage(Format('Justified decimal = <%-7d>', [1234]));

  // Значение точности вынуждает 0 дополнений к желательному размеру
  ShowMessage(Format('0 padded decimal  = <%.6d>', [1234]));

  // Комбинация ширины и точности
  // Обратите внимание, что значение ширины предшествует значению точности
  ShowMessage(Format('Width + precision = <%8.6d>', [1234]));

  // Индексное значение позволяет следующему значению в массиве
  // данных быть измененным
  ShowMessage(Format('Reposition after 3 strings = %s %s %s %1:s %s',
                     ['Zero', 'One', 'Two', 'Three']));

  // Обратите внимание, испытание показало, что * для параметра ширины
  // может привести к ECONVERTERROR.
  
  ShowMessage(Format('In line           = <%10.4d>', [1234]));
  ShowMessage(Format('Part data driven  = <%*.4d>', [10, 1234]));
  ShowMessage(Format('Data driven       = <%*.*d>', [10, 4, 1234]));
end;

Main Menu