Especificação de 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 negativo que não decimal, dependendo do tipo de conversão, especifique o número de caracteres de uma cadeia de caracteres, o número de casas decimais, ou o número de dígitos significativos para ser saída.
Diferentemente de especificação de largura, a especificação de precisão pode causar truncamento do valor de saída ou arredondamento de um valor de ponto flutuante.Se precision é especificado como 0 e o valor a ser convertido é 0, o resultado não é nenhuma saída de caracteres, como mostrado neste exemplo:
printf( "%.0d", 0 ); /* No characters output */
Se a especificação de precisão for um asterisco (*), um argumento de int da lista de argumentos 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 determina a interpretação de precision ou a precisão padrão quando precision for omitido, conforme mostrado na tabela.
Como tipo de 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 for 0, qualquer ponto decimal é impresso a menos que o sinalizador de # é usado. |
c, C |
A precisão não tem efeito. |
O caractere é impresso. |
d, i, u, o, x, X |
A precisão especifica o número mínimo de dígitos a ser impresso.Se o número de dígitos no argumento é menor que precision, o valor de saída é preenchido com zeros à esquerda.O valor não for truncado quando o número de dígitos excede precision. |
A precisão padrão é 1. |
e, E |
A precisão especifica o número de dígitos a ser impresso após o ponto decimal.O segundo é arredondado dígito impresso. |
A precisão padrão é 6.Se precision é 0 ou o ponto (.) aparece sem um número que segue o, qualquer 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 aparece, pelo menos um dígito aparece antes dele.O valor é arredondado para o número apropriado de dígitos. |
A precisão padrão é 6.Se precision é 0, ou se o ponto (.) aparece sem um número que segue o, qualquer ponto decimal é impresso. |
g, G |
A precisão especifica o número máximo de dígitos significativos impressos. |
Seis dígitos significativos são impressos, e os zeros à direita são truncados. |
s, S |
A precisão especifica o número máximo de caracteres a ser impresso.Os caracteres além de precision não são impresso. |
Os caracteres são impresso até que um caractere nulo seja localizado. |
Consulte também
Referência
printf, _printf_l, wprintf, _wprintf_l
Sintaxe de especificação de formato: funções printf e and wprintf