Программирование на C и C++

Онлайн справочник программиста на C и C++

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

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

При применении спецификатора точности к вещественным данным, используя спецификаторы %f, %е или %Е, он определяет число выводимых цифр дробной части. Например, %10.4f выводит числа, по крайней мере, с длиной строки в десять символов, причем под дробную часть отводится четыре символа. Если не указать точность, то по умолчанию используется шесть символов. Когда спецификатор точности применяется к %g или %G, он определяет число значимых цифр. Применение спецификатора точности к строкам ограничивает длину строки. Например, %5.7s выводит строку, по крайней мере, с пятью, но не более чем с семью символами. Если строка длиннее, чем максимальная указанная ширина, оставшиеся символы отбрасываются.

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

#include <stdio.h>
int main (void)
{
printf ("%. 4f\n\",123.1234567);
printf("%3.8d\n", 1000);
printf("%10.15 s\n", "This is a simple test.");
return 0;
}

В результате ее работы получаем:

123.1235
00001000
This is a simpl