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–2023 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/v9.2.0/Floating_002dPoint-Conversions.html