796 Глава 14

14.4.3 Строка форматирования функций типа Format

Описанная ниже строка форматирования используется в функциях Format,
FormatBuf, FmtStr, StrFmt, StrLFmt и др.

Строка содержит обычные символы и спецификаторы формата полей. Обыч-
ные символы просто копируются в выходную строку, а спецификаторы определя-
ют форматирование аргументов из заданного списка.

Спецификации формата начинаются с символа % и имеют вид:

"%" (index ":"] ["-"] [width] ["." prec] type

Единственно обязательным элементом спецификации является type — сим-
вол, указывающий на то, как будет трактоваться аргумент. Остальные необязате-
льные элементы задают параметры форматирования:

[index ":"]  Устанавливает текущий индекс массива аргументов в заданное

значение index. Индексы начинаются с 0. Например, специфика-
тор %0: переводит индекс на начало массива и обеспечивает по-
вторное форматирование первого аргумента

["-"]        Обеспечивает выравнивание результата влево с заполнением

оставшихся правых позиций поля пробелами. В отсутствие специ-
фикатора ["-"] выравнивание производится вправо

[width]     Устанавливает минимальную ширину поля в результирующей

строке. Если результат преобразования короче ширины поля, про-
исходит выравнивание вправо (или влево, если был записан спе-
цификатор ["-"]) с заполнением лишних позиций пробелами

["." prec]   Спецификатор точности, определяющий число выводимых симво-
лов (в зависимости от принятого формата). Спецификатор записы-
вается после символа точки (.), чтобы отделить его от предшеству-
ющего спецификатора width

Значения спецификаторов index, width и prec могут задаваться в виде целых
значений или в виде символа звездочки (*). В последнем случае предполагается,
что значение спецификатора задается очередным аргументом из списка.

Ниже приведены возможные значения type.

Символ	Тип аргумента	Формат вывода
d	целый	Десятичный формат — строка десятичных цифр. Если используется спецификатор ["." prec], то он указывает минимальное количество выводимых ' цифр. Если действительное количество цифр результата меньше указанного спецификатором точности, то происходит выравнивание вправо с заполнением лишних позиций нулями.
е	действительный	Научный формат — строка вида «-d.ddd.-.E+ddd». Перед десятичной точкой всегда помещается одна цифра и для отрицательных величин — знак минус. Если используется спецификатор ["." prec], то он указывает общее количество выводимых цифр, включая цифру перед десятичной точкой (по умолчанию 15 цифр). После символа порядка Е всегда указывается знак — плюс или минус.