14.2.7 Таблица преобразований вывода
В этой таблице обобщены все различные преобразования:
- ‘%d’, ‘%i’
-
Выводит целое число как знаковое десятичное число. Подробности см. в разделе Преобразования целых чисел. ‘%d’ и ‘%i’ являются синонимами для вывода, но различаются при использовании с
scanfдля ввода (см. Таблица преобразований ввода). - ‘%o’
-
Выводит целое число как беззнаковое восьмеричное число. Подробности см. в разделе Преобразования целых чисел.
- ‘%u’
-
Выводит целое число как беззнаковое десятичное число. Подробности см. в разделе Преобразования целых чисел.
- ‘%x’, ‘%X’
-
Выводит целое число как беззнаковое шестнадцатеричное число. ‘%x’ использует строчные буквы, а ‘%X’ — заглавные. Подробности см. в разделе Преобразования целых чисел.
- ‘%f’
-
Выводит число с плавающей точкой в обычном (фиксированном) формате. Подробности см. в разделе Преобразования чисел с плавающей точкой.
- ‘%e’, ‘%E’
-
Выводит число с плавающей точкой в экспоненциальном формате. ‘%e’ использует строчные буквы, а ‘%E’ — заглавные. Подробности см. в разделе Преобразования чисел с плавающей точкой.
- ‘%g’, ‘%G’
-
Выводит число с плавающей точкой в формате либо нормального (фиксированного), либо экспоненциального, в зависимости от его величины. ‘%g’ использует строчные буквы, а ‘%G’ — заглавные. Подробности см. в разделе Преобразования чисел с плавающей точкой.
- ‘%c’
-
Выводит один символ. См. Другие преобразования вывода.
- ‘%s’
-
Выводит строку. См. Другие преобразования вывода.
- ‘%%’
Выводит символ ‘%’ в прямом виде. См. Другие преобразования вывода.
Если синтаксис спецификации преобразования некорректен, произойдут непредсказуемые действия, поэтому этого следует избегать. В частности, MATLAB разрешает наличие одиночного знака процента ‘%’ без последующего символа преобразования. Octave выдаст ошибку и остановится, если увидит такой код. Когда нельзя гарантировать, что строковая переменная не содержит потенциальных кодов формата, лучше использовать двухаргументную форму любой из функций printf, задав строку формата %s. В качестве альтернативы, для кода, не требующего обратной совместимости с MATLAB, можно использовать функцию Octave puts или disp.
printf (strvar); # Unsafe if strvar contains format codes
printf ("%s", strvar); # Safe
puts (strvar); # Safe
Если для всех спецификаций преобразования в строке шаблона не хватает аргументов функций для задания значений или если аргументы не имеют правильного типа, результаты будут непредсказуемыми. Если вы предоставите больше аргументов, чем спецификаций преобразования, дополнительные значения аргументов будут просто проигнорированы; это иногда бывает полезно.
© 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/v6.4.0/Table-of-Output-Conversions.html