Condividi tramite


Specifica di precisione

In una specifica di formato, il terzo campo facoltativo è la specifica di precisione.È costituito da un punto (.) seguito da un Integer decimale non negativo che, a seconda del tipo di conversione, specifica il numero di caratteri della stringa, il numero di posizioni decimali, o il numero di cifre significative da restituire.

A differenza della specifica della larghezza, la specifica di precisione può causare il troncamento del valore di output o l'arrotondamento di un valore a virgola mobile.Se precision viene specificato come 0 e il valore da convertire sono 0, il risultato non è caratteri restituiti, come illustrato nel seguente esempio:

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

Se la specifica di precisione è un asterisco (*), un argomento di int dall'elenco di argomenti fornisce il valore.Nell'elenco di argomenti, l'argomento di precision deve precedere il valore da formattare, come illustrato nel seguente esempio:

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

Il tipo determina l'interpretazione di precision o la precisione predefinita quando precision viene omesso, come illustrato nella tabella seguente.

Come tipo di influenza di valori di precisione

Type

Significato

Predefinito

a, A

La precisione indica il numero di cifre dopo il punto.

La precisione predefinita è 6.Se la precisione è 0, alcun separatore decimale viene spostato a meno che il flag di # sia utilizzato.

c, C

La precisione non ha effetto.

Il carattere viene stampato.

d, i, u, o, x, X

La precisione indica il numero minimo di cifre da stampare.Se il numero di cifre nell'argomento è minore di precision, il valore di output verranno aggiunti a sinistra con zeri.Il valore non viene troncato quando il numero di cifre supera precision.

La precisione predefinita è 1.

e, E

La precisione indica il numero di cifre da stampare dopo il separatore decimale.L'ultima cifra stampata viene arrotondata.

La precisione predefinita è 6.Se precision è 0 o un punto (.) viene visualizzato senza un numero successivo, alcun separatore decimale viene stampato.

f

Il valore di precisione indica il numero di cifre dopo il separatore decimale.Se un separatore decimale viene visualizzato, almeno una cifra viene visualizzata prima di.Il valore viene arrotondato al numero appropriato di cifre.

La precisione predefinita è 6.Se precision è 0, o se il punto (.) viene visualizzato senza un numero successivo, alcun separatore decimale viene stampato.

g, G

La precisione indica il numero massimo di cifre significative stampare.

Sei cifre significative vengono stampate e gli zeri finali vengono troncati.

s, S

La precisione indica il numero massimo di caratteri da stampare.I caratteri al di sopra di precision non vengono stampati.

I caratteri vengono stampati fino al raggiungimento di un carattere null.

Vedere anche

Riferimenti

printf, _printf_l, wprintf, _wprintf_l

Sintassi per la specifica del formato: funzioni printf wprintf

Direttive del flag

specifica la larghezza di printf

Specifica di dimensione

caratteri il campo tipo di printf