Especificação de precisão
O terceiro campo opcional da especificação do formato é a especificação de precisão.Ele especifica um número decimal inteiro não negativo, precedido por um ponto (. ), que especifica o número de caracteres a ser impresso, o número de casas decimais ou o número de dígitos significativos (consulte o Como Precision valores afetam tipo tabela).Ao contrário da especificação de largura, a especificação de precisão pode causar o truncamento do valor de saída ou arredondamento do valor de ponto flutuante.If precisão é especificado sistema autônomo 0 e o valor a ser convertido é 0, o resultado não é nenhum caractere de saída, sistema autônomo mostrado abaixo:
printf( "%.0d", 0 ); /* No characters output */
Se a especificação de precisão for um asterisco (*), an int argumento na lista do argumento fornece o valor. The precisão argumento deve preceder o valor que está sendo formatado na lista de argumentos.
O tipo determina a interpretação de precisão e o padrão quando precisão for omitido, sistema autônomo mostrado na tabela a seguir.
Como Precision valores afetam tipo
Type (Tipo) |
Significado |
Padrão |
---|---|---|
uma, A |
A precisão Especifica o número de dígitos após o ponto. |
Precisão padrão é 6.Se precisão for 0, nenhum ponto será impresso, a menos que o sinalizar # for usado. |
c, C |
A precisão não terá efeito. |
Caractere é impresso. |
d, i, u, o x X |
A precisão Especifica o número mínimo de dígitos a serem impressas.Se o número de dígitos no argumento for menor que precisão, o valor de saída é preenchido à esquerda com zeros.O valor não é truncado quando o número de dígitos exceder precisão. |
Precisão padrão é 1. |
e, E |
A precisão Especifica o número de dígitos a ser impresso após a vírgula decimal.O último dígito impresso será arredondado. |
Precisão padrão é 6; se precisão é 0 ou o ponto (.) é exibida sem um número após ele, sem ponto decimal é impresso. |
-F- |
O valor de precisão Especifica o número de dígitos depois do ponto decimal.Se for exibido um ponto decimal, pelo menos um dígito aparecerá antes dele.O valor será arredondado para o número apropriado de dígitos. |
Precisão padrão é 6; se precisão for 0, ou se o ponto (.) for exibida sem um número após ele, sem ponto decimal é impresso. |
g, G |
A precisão Especifica o número máximo de dígitos significativos impresso. |
Seis dígitos significativos são impressos com os zeros à esquerda truncados. |
s, S |
A precisão Especifica o número máximo de caracteres a ser impresso.Caracteres em excesso de precisão não são impressos. |
Os caracteres são impressos até que seja encontrado um caractere nulo. |
Se o argumento correspondente a um especificador de ponto flutuante é infinito, indefinido, ou NAN, printf Fornece a saída a seguir.
Valor |
Saída |
---|---|
+ infinito |
1. #INFdígitos aleatórios de |
– infinito |
-1. #INFdígitos aleatórios de |
Indefinida (mesmo NaN silencioso) |
dígito. #De dígitos aleatórios IND |
NAN |
dígito. #De dígitos aleatórios NAN |