Especificación de precisión

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

En una especificación de formato, el tercer campo opcional es la especificación de precisión. Consta de un punto (.) seguido de un entero decimal no negativo que, dependiendo del tipo de conversión, especifique el número de caracteres de la cadena, el número de posiciones decimales, o el número de dígitos significativos que se generarán.

A diferencia de la especificación de ancho, la especificación de precisión puede producir el truncamiento de valor de salida o el redondeo de un valor de punto flotante. Si se especifica precision como 0 y el valor que se va a convertir es 0, el resultado no es ninguna salida de caracteres, como se muestra en este ejemplo:

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

Si la especificación de precisión es un asterisco (*), un argumento de int de la lista de argumentos el valor. En la lista de argumentos, el argumento de precision debe preceder al valor que se, como se muestra en este ejemplo:

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

El tipo determina la interpretación de precision o la precisión predeterminada cuando se omite precision , como se muestra en la tabla siguiente.

Cómo tipo del efecto de los valores de precisión

TipoSignificadoValor
a, ALa precisión especifica el número de dígitos después del punto.La precisión predeterminada es 6. Si la precisión es 0, no se imprime ningún separador decimal a menos que se utilice el indicador de # .
c, CLa precisión no tiene ningún efecto.Se imprime el carácter.
d, i, u, o, x, XLa precisión especifica el número mínimo de dígitos que se imprimirán. Si el número de dígitos en el argumento es menor que precision, el valor de salida se completa en la izquierda con ceros. El valor no se trunca cuando el número de dígitos supera precision.La precisión predeterminada es 1.
e, ELa precisión especifica el número de dígitos que se imprimirán después del separador decimal. Se redondea el dígito impreso pasado.La precisión predeterminada es 6. Si precision es 0 o un punto (.) aparece sin un número que lo sigue, no se imprime ningún separador decimal.
fEl valor de precisión especifica el número de dígitos después del separador decimal. Si aparece un separador decimal, al menos un dígito aparece antes del. El valor se redondea al número correcto de dígitos.La precisión predeterminada es 6. Si precision es 0, o si el punto (.) aparece sin un número que lo sigue, no se imprime ningún separador decimal.
g, GLa precisión especifica el número máximo de dígitos significativos impresos.Se imprimen seis dígitos significativos, y se trunca los ceros finales.
s, SLa precisión especifica el número máximo de caracteres que se imprimirá. Los caracteres superior a precision no se imprimen.Se imprimen los caracteres hasta que se encuentra un carácter null.

printf, _printf_l, wprintf, _wprintf_l
Sintaxis de especificación de formato: Funciones printf y wprintf
Directivas de marca
printf (Especificación de ancho)
Especificación de tamaño
printf (Caracteres de campo de tipo)

Mostrar: