Specyfikacja stacji roboczej Precision
W specyfikacji formatu trzecie pole opcjonalne jest specyfikacją precyzji.Składa się z znak kropki (.) następuje ujemna dziesiętną liczbę całkowitą, która w zależności od typu konwersji określa liczbę znaków ciągu, liczbę miejsc dziesiętnych lub liczbę cyfr znaczących wyprowadzenie.
W przeciwieństwie do specyfikacji szerokość specyfikacji precyzji może spowodować obcięcie wartości wyjściowych albo zaokrąglenie wartości zmiennoprzecinkowe.Jeśli precision jest określony jako 0 i wartość do konwersji wynosi 0, wynik jest nie wyjście znaków, jak pokazano w poniższym przykładzie:
printf( "%.0d", 0 ); /* No characters output */
Jeśli jest specyfikacja precyzja (gwiazdka), int argumentu z listy argumentów dostarcza wartość.Na liście argumentów precision argument musi poprzedzać wartość, która formatowanego, jak pokazano w poniższym przykładzie:
printf( "%.*f", 3, 3.14159265 ); /* 3.142 output */
Typ określa albo interpretacji precision lub domyślna dokładność po precision zostanie pominięty, jak pokazano w poniższej tabeli.
Jak wartości dokładności wpływają na typ
Typ |
Znaczenie |
Domyślne |
---|---|---|
a, A |
Dokładność określa liczbę cyfr po separatorze. |
Domyślna dokładność to 6.Jeśli dokładność wynosi 0, drukowany jest bez miejsca dziesiętnego, chyba że # jest używana flaga. |
c, C |
Dokładność nie ma wpływu. |
Znak jest drukowany. |
d, i, u, o, x, X |
Dokładność określa minimalną liczbę cyfr, które mają być drukowane.Jeśli liczba cyfr w argumencie jest mniejsza niż precision, wartość produkcji jest wypełniane po lewej stronie zerami.Wartość nie jest obcięty, jeśli liczba cyfr przekracza precision. |
Domyślna dokładność to 1. |
e, E |
Dokładność określa liczbę cyfr, które mają być drukowane po separatorze dziesiętnym.Ostatnia cyfra drukowanej jest zaokrąglana. |
Domyślna dokładność to 6.Jeśli precision jest równa 0 lub kropka (.) występuje bez numer, jest drukowany bez miejsca dziesiętnego. |
f |
Wartość precyzji określa liczbę cyfr po przecinku.Jeśli pojawi się przecinek dziesiętny, co najmniej jedną cyfrę pojawi się przed nim.Wartość jest zaokrąglana do odpowiedniej liczby cyfr. |
Domyślna dokładność to 6.Jeśli precision ma wartość 0 lub jeśli bez numer, pojawi się kropka (.), jest drukowany bez miejsca dziesiętnego. |
g, G |
Dokładność określa maksymalną liczbę cyfr znaczących, drukowane. |
Drukowane są sześć cyfr znaczących i końcowe zera są obcinane. |
s, S |
Dokładność określa maksymalną liczbę znaków, które mają być drukowane.Znaki przewyższająca precision nie są drukowane. |
Znaki są drukowane, aż do napotkania znakiem null. |
Zobacz też
Informacje
printf, _printf_l, wprintf, _wprintf_l