Specyfikacja dokładności
W specyfikacji formatu trzecie pole opcjonalne jest specyfikacją precyzji.Składa się on z kropki (.), a następnie nieujemnej wartości całkowitej dziesiętny, który w zależności od typu konwersji określa liczbę ciąg znaków, liczba 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ąglania liczb zmiennoprzecinkowych wartości.Jeśli precision jest określony jako 0, a wartości są konwertowane wynosi 0, wynik jest żadne dane wyjściowe znaków, jak pokazano w poniższym przykładzie:
printf( "%.0d", 0 ); /* No characters output */
Jeśli specyfikacja dokładność jest znak gwiazdki (*), int dostarcza argumentu z listy argumentów wartości.Na liście argumentów precision argument musi poprzedzać formatowanego, wartość, jak pokazano w poniższym przykładzie:
printf( "%.*f", 3, 3.14159265 ); /* 3.142 output */
Typ określa interpretacji z precision lub domyślna precyzja po precision zostanie pominięty, jak pokazano w poniższej tabeli.
Wpływ dokładności wartości typu
Typ |
Znaczenie |
Domyślny |
---|---|---|
a, A |
Dokładność określa liczbę cyfr po punkcie. |
Domyślna dokładność to 6.Jeśli dokładność wynosi 0, bez miejsca dziesiętnego jest drukowany, 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ść wyjściowa jest uzupełniana na zerami z lewej strony.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 drukowanych jest zaokrąglana. |
Domyślna dokładność to 6.Jeśli precision jest równa 0 lub kropki (.) pojawia się bez numeru po nim, jest drukowany bez miejsca dziesiętnego. |
f |
Wartości dokładności 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ściu 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 znaku null. |
Zobacz też
Informacje
printf, _printf_l, wprintf, _wprintf_l
Składnia specyfikacji formatu: funkcje printf i wprintf