Compartilhar via


Especificação da precisão

Em uma especificação de formato, o terceiro campo opcional é a especificação de precisão. Consiste em um ponto (.) seguido por um inteiro não negativo que decimal, dependendo do tipo de conversão, especifica o número de caracteres da cadeia de caracteres, o número de casas decimais, ou o número de dígitos significativos para saída.

Ao contrário da especificação de largura, a especificação de precisão pode causar truncamento de valor de saída ou pelo arredondamento de um valor de ponto flutuante. Se precision for especificado como 0 e o valor a ser convertido for 0, o resultado é nenhuma saída de caracteres, como mostra este exemplo:

printf( "%.0d", 0 ); /* No characters output */

Se a especificação de precisão é um asterisco (*), um argumento de int da lista de argumento fornece o valor. Na lista de argumentos, o argumento de precision deve preceder o valor que está sendo formatado, conforme mostrado neste exemplo:

printf( "%.*f", 3, 3.14159265 ); /* 3.142 output */

O tipo determinará a interpretação de precision ou precisão padrão quando precision for omitido, conforme mostrado na seguinte tabela.

Como tipo de influência dos valores de precisão

Tipo

Significado

Padrão

a, A

A precisão especifica o número de dígitos após o ponto.

A precisão padrão é 6. Se a precisão é 0, nenhum ponto decimal é impresso a menos que o sinalizador de # é usado.

c, C

A precisão não tem nenhum efeito.

O caractere for impresso.

d, i, u, o, x, X

A precisão especifica o número mínimo de dígitos a ser impressos. Se o número de dígitos do argumento for menor que precision, o valor de saída é preenchida com zeros à esquerda. O valor não é truncado quando o número de dígitos exceder precision.

A precisão padrão é 1.

e, E

A precisão especifica o número de dígitos a ser impressos após o ponto decimal. O último dígito impresso é arredondado.

A precisão padrão é 6. Se precision for 0 ou o ponto (.) aparece sem um número que segue o, nenhum ponto decimal é impresso.

f

O valor de precisão especifica o número de dígitos após o ponto decimal. Se um ponto decimal for exibida, pelo menos um dígito aparecer antes deles. O valor é arredondado para o número apropriado de dígitos.

A precisão padrão é 6. Se precision será 0, ou se o ponto (.) aparece sem um número que segue o, nenhum ponto decimal é impresso.

g, G

A precisão especifica o número máximo de dígitos significativos impressos.

Seis dígitos significantes são impressos, e todos os zeros à direita são truncados.

s, S

A precisão especifica o número máximo de caracteres a ser impressos. Os caracteres além de precision não são impressos.

Os caracteres são impressos até que um caractere nulo seja encontrado.

Consulte também

Referência

printf, _printf_l, wprintf, _wprintf_l

Sintaxe de especificação de formato: funções printf e and wprintf

Diretivas de sinalizador

Especificação de largura printf

Especificação de arquivo

Caracteres de campo de tipo printf