14.2.9 Преобразования чисел с плавающей точкой
В этом разделе рассматриваются спецификации преобразования для чисел с плавающей точкой: преобразования ‘%f’, ‘%e’, ‘%E’, ‘%g’ и ‘%G’.
Преобразование ‘%f’ выводит свой аргумент в фиксированной точке, создавая вывод в формате [-]ddd.ddd, где количество цифр после десятичной точки контролируется заданной вами точностью.
Преобразование ‘%e’ выводит свой аргумент в экспоненциальной форме, создавая вывод в формате [-]d.ddde[+|-]dd. Опять же, количество цифр после десятичной точки контролируется точностью. Экспонента всегда содержит как минимум две цифры. Преобразование ‘%E’ аналогично, но экспонента отмечается буквой ‘E’ вместо ‘e’.
Преобразования ‘%g’ и ‘%G’ выводят аргумент в стиле ‘%e’ или ‘%E’ (соответственно), если экспонента будет меньше -4 или больше или равна точности; в противном случае они используют стиль ‘%f’. Конечные нули удаляются из дробной части результата, и десятичный символ появляется только в том случае, если за ним следует цифра.
Следующие флаги могут быть использованы для изменения поведения:
- ‘-’
-
Выравнивать результат по левому краю в поле. Обычно результат выравнивается по правому краю.
- ‘+’
-
Всегда включать знак плюс или минус в результате.
- ‘
-
Если результат не начинается со знака плюс или минус, префикс его пробелом вместо этого. Поскольку флаг ‘+’ гарантирует, что результат включает знак, этот флаг игнорируется, если вы укажете оба.
- ‘#’
-
Указывает, что результат всегда должен включать десятичный знак, даже если за ним не следуют цифры. Для преобразований ‘%g’ и ‘%G’ это также принуждает оставить конечные нули после десятичной точки, где они в противном случае были бы удалены.
- ‘0’
Заполнить поле нулями вместо пробелов; нули размещаются после любого знака. Этот флаг игнорируется, если также указан флаг ‘-’.
Точность определяет количество цифр после десятичной точки для преобразований ‘%f’, ‘%e’ и ‘%E’. Для этих преобразований значение по умолчанию равно 6. Если точность явно 0, это полностью подавляет десятичный знак. Для преобразований ‘%g’ и ‘%G’ точность определяет количество значащих цифр для вывода. Значимые цифры — это первая цифра перед десятичной точкой и все цифры после неё. Если точность 0 или не указана для ‘%g’ или ‘%G’, она обрабатывается как значение 1. Если значение, которое выводится, не может быть выражено точно в указанном количестве цифр, значение округляется до ближайшего значения, которое подходит.
© 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/v7.2.0/Floating_002dPoint-Conversions.html