Описание функций Си



         

Printf - часть 5


Спецификация точности.

Спецификация точности всегда начинается с точки (.), отделяющей ее от предшествующей спецификации ширины. Затем спецификация точности также, как и ширины, задается либо непосредственно, с помощью строки десятичных цифр, либо косвенно - с помощью знака звездочки (*). Если для спецификации точ- ности используется звездочка (*), следующий аргу- мент в вызове функции (обязательно целый) опреде- ляет точность.

Если вы используете звездочки для задания точнос- ти или ширины, или для обеих спецификаций, аргу- мент должен следовать непосредственно за соответ- ствующим спецификатором.

---------------T----------------------------------------------------- Спецификация ¦ Как это влияет на вывод точности ¦ ---------------+----------------------------------------------------- (не дана) ¦ Точность устанавливается по умолчанию (стандартно ¦ =1 для типов d, i, o, u, x, X; ¦ =6 для типов e, E, f; ¦ = все значащие цифры для типов g, G; ¦ = печать первого нулевого символа для типа S; ¦ не влияет на тип c) .0 ¦ Для типов d, i, o, u, x точность устанавливается по ¦ умолчанию. ¦ Для типов e, E, f десятичная точка не печатается. .n ¦ Печатаются n символов или n десятичных знаков; если ¦ выводимое значение содержит больше n символов, оно ¦ может быть усечено или округлено. (Случится это или ¦ нет, зависит от символьного типа). * ¦ Спецификация точности задается в списке аргументов, ¦ причем она предшествует значению форматируемого ар- ¦ гумента. ---------------+-----------------------------------------------------

Замечание. Если указана нулевая точность, и спецификатор формата для целого значения (т.е. d, i, o, u, x), и печатаемое значение равно 0, то в этом случае не будут выводится цифровые символы, т.е. поле бу- дет пустое.

---------------T----------------------------------------------------- Символ ¦ Как спецификация точности влияет на преобразование преобразования ¦ ---------------+----------------------------------------------------- d ¦ .n показывает, что будет напечатано по крайней мере i ¦ n цифр. Если выводимый аргумент имеет менее n цифр, o ¦ свободные места в выводе забиваются слева нулями. u ¦ Если же выводимый аргумент имеет больше n цифр, вы- x ¦ ходное значение не усекается. X ¦ ¦ e ¦ .n показывает, что после десятичной точки будет на- E ¦ печатано n символов, причем последняя цифра округ- f ¦ ляется. ¦ g ¦ .n определяет, что будет напечатано максимально n ¦ значащих цифр. G ¦ ¦ c ¦ .n не имеет влияния на вывод ¦ s ¦ .n определяет, что будет напечатано не больше, чем ¦ n символов. ---------------+-----------------------------------------------------




Содержание  Назад  Вперед