14.2.6 Синтаксис преобразования вывода
Этот раздел содержит подробные сведения о точном синтаксисе спецификаций преобразования, которые могут появиться в строке шаблона printf.
Символы в строке шаблона, которые не являются частью спецификации преобразования, печатаются в выходной поток в неизменном виде.
Спецификации преобразования в строке шаблона printf имеют общий вид:
% flags width [ . precision ] type conversion
Например, в спецификаторе преобразования ‘%-10.8ld’, ‘-’ — это флаг, ‘10’ задаёт ширину поля, точность равна ‘8’, буква ‘l’ — модификатор типа, а ‘d’ — стиль преобразования. (Эта спецификация типа указывает на вывод числового аргумента в десятичном формате, с минимальной длиной 8 цифр, выровненного влево в поле шириной не менее 10 символов.)
Более подробно, спецификации преобразования вывода состоят из начального символа ‘%’, за которым следуют:
- Ноль или более символов флагов, которые изменяют стандартное поведение спецификации преобразования.
- Необязательное десятичное целое число, задающее минимальную ширину поля. Если нормальное преобразование генерирует меньше символов, чем это значение, поле дополняется пробелами до указанной ширины. Это минимальное значение; если нормальное преобразование генерирует больше символов, поле не усекается. Обычно вывод выравнивается по правому краю внутри поля.
Также можно указать ширину поля как ‘*’. Это означает, что следующий аргумент в списке аргументов (перед фактическим значением, подлежащим выводу) используется в качестве ширины поля. Значение округляется до ближайшего целого числа. Если значение отрицательное, это означает установку флага ‘-’ (см. ниже) и использование абсолютного значения в качестве ширины поля.
- Необязательная точность для задания числа цифр, выводимых при числовых преобразованиях. Если точность задана, она состоит из точки (‘.’) и необязательного десятичного целого числа (которое по умолчанию равно нулю, если опущено).
Также можно указать точность как ‘*’. Это означает, что следующий аргумент в списке аргументов (перед фактическим значением, подлежащим выводу) используется в качестве точности. Значение должно быть целым числом и игнорируется, если оно отрицательное.
- Необязательный символ модификатора типа. Этот символ игнорируется функцией Octave
printf, но распознается для обеспечения совместимости с языком Cprintf. - Символ, указывающий на применяемое преобразование.
Точные разрешённые опции и способы их интерпретации различаются в зависимости от различных спецификаторов преобразования. Подробную информацию о конкретных опциях, используемых в каждом случае, см. в описаниях отдельных преобразований.
© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v5.2.0/Output-Conversion-Syntax.html