Udostępnij za pośrednictwem


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

Dyrektywy flagowania

printf — Specyfikacje szerokości

Specyfikacja rozmiaru

printf — Znaki pola typu