Формы записи вещественных чисел. Форматированный вывод чисел

Для преобразования значения аргумента к различным формам представления вещественных чисел в параметре type используются буквы f, e или E и g или G. Буква f обеспечит представление аргумента в форме вещественного числа с фиксированной точкой. Число цифр после десятичной точки равно значению параметра точности. Если точность не указана, то после точки выводится 6 цифр. Если задана нулевая точность, то десятичная точка и дробная часть не выводятся. Буквы e и E применяются для представления вещественного аргумента в экспоненциальной форме, где перед десятичной точкой только одна цифра, а число цифр после точки определяет параметр точности аналогично формату числа с фиксированной точкой. Вывод числа в экспоненциальной форме завершает значение порядка после символа e или E. Поле порядка всегда содержит не менее двух цифр. При необходимости оно дополняется лидирующим нулем. Если форма вывода вещественного числа безразлична, но необходимо минимизировать длину поля его представления, параметр type должен быть специфицирован буквой g или G. При этом будет автоматически выбран формат, который гарантирует нужную точность представления минимальным числом значащих цифр. Регистр параметра определяет регистр символа порядка числа в экспоненциальной форме его представления.

Следующие примеры демонстрируют вывод действительного числа 1234.56789 при различных форматах вещественных преобразований с учетом параметров ширины поля вывода и точности представления результата, где символ “тильда” условно обозначает лидирующий пробел:

Формат: "%f" Вывод: 1234.567890

Формат: "%.1f" Вывод: 1234.6

Формат: "%E" Вывод: 1.234568E+03

Формат: "%.3e" Вывод: 1.235e+03

Формат: "%g" Вывод: 1234.57

Формат: "%12f" Вывод: ~1234.567890

Формат: "%3f" Вывод: 1234.567890

Формат: "%14E" Вывод: ~~1.234568E+03

Формат: "%3e" Вывод: 1.234568e+03

Формат: "%8.1f" Вывод: ~~1234.6

Формат: "%-8.1f" Вывод: 1234.6

Формат: "%8.1e" Вывод: ~1.2e+03

Формат: "%-8.1E" Вывод: 1.2E+03

Перечисленные значения параметра типа преобразований могут быть указаны с модифицирующим префиксом h, l или L. Модификаторы h и l декларируют, что следующий за ними символ целочисленного преобразования формы вывода применяется к аргументам типа short или unsigned short и long или unsigned long. Модификатор L указывает, что следующий после него символ преобразования к формату вещественного числа используется для аргумента типа long double. Например, спецификация "%ld" обеспечивает форматный вывод данных типа long.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: