Genauigkeits-Spezifikation
In einer Formatangabe ist das dritte optionale Feld die Genauigkeitsspezifikation.Es besteht aus einem Punkt (.) gefolgt von einer dezimalen nicht negative ganze Zahl, die, abhängig von dem Konvertierungstyp, die Anzahl von Zeichenfolgen, die Anzahl von Dezimalstellen oder die Anzahl der signifikanten ausgegeben werden Ziffern angibt.
Im Gegensatz zur Breitenangabe kann die Genauigkeitsspezifikation jedes Abschneiden des Ausgabewerts oder des Rundens eines Gleitkommawerts verursachen.Wenn precision angegeben wird, da 0 und der zu konvertierende Wert 0 ist, ist das Ergebnis keine Zeichenausgabe, wie in diesem Beispiel gezeigt:
printf( "%.0d", 0 ); /* No characters output */
Wenn die Genauigkeitsspezifikation ein Sternchen (*), bietet ein int-Argument aus der Argumentliste den Wert.In der Argumentliste muss das precision-Argument dem Wert, der formatiert wird, wie in diesem Beispiel gezeigt vor:
printf( "%.*f", 3, 3.14159265 ); /* 3.142 output */
Der Typ bestimmt entweder die Interpretation der precision oder die Standardgenauigkeit, wenn precision weggelassen wird, wie in der folgenden Tabelle gezeigt.
Wie Genauigkeits-Werts-Affekt-Typ
Typ |
Bedeutung |
Standardwert |
---|---|---|
a, A |
Die Genauigkeit gibt die Anzahl der Ziffern nach dem Punkt an. |
Standardgenauigkeit beträgt 6.Wenn Genauigkeit 0 ist, wird kein Dezimaltrennzeichen gedruckt, es sei denn, das - Flag # verwendet wird. |
c, C |
Die Genauigkeit hat keine Auswirkungen. |
Zeichen wird ausgegeben. |
d, i, u, o, x, X |
Die Genauigkeit gibt die Mindestanzahl von den zu druckende an Ziffern.Wenn die Anzahl der Ziffern im Argument kleiner als precision ist, wird der Ausgabewert links durch Nullen ergänzt.Der Wert wird nicht abgeschnitten, wenn die Anzahl der Ziffern precision überschreitet. |
Standardgenauigkeit beträgt 1. |
e, E |
Die Genauigkeit gibt die Anzahl der an den nach dem Dezimaltrennzeichen zu druckende Ziffern.Die letzte gedruckte Ziffer wird gerundet. |
Standardgenauigkeit beträgt 6.Wenn precision 0 ist, oder der Punkt (.) ohne eine Zahl angezeigt wird, die darauf folgenden, wird kein Dezimaltrennzeichen gedruckt. |
f |
Der Genauigkeitswert gibt die Anzahl der Ziffern nach dem Dezimaltrennzeichen an.Wenn ein Dezimaltrennzeichen angezeigt wird, wird mindestens eine Ziffer aufbaut.Der Wert wird auf die entsprechende Anzahl von Ziffern gerundet. |
Standardgenauigkeit beträgt 6.Wenn precision 0 ist oder wenn der Punkt (.) ohne eine Zahl angezeigt wird, die darauf folgenden, wird kein Dezimaltrennzeichen gedruckt. |
g, G |
Die Genauigkeit gibt die maximale Anzahl von signifikanten gedruckten Ziffern angezeigt. |
Sechs signifikante Ziffern werden ausgegeben, und alle nachfolgenden Nullen werden abgeschnitten. |
s, S |
Die Genauigkeit gibt die maximale Anzahl von zu druckende an Zeichen.Zeichen mehr als precision werden nicht gedruckt. |
Zeichen werden gedruckt, bis ein NULL-Zeichen aufgetreten ist. |
Siehe auch
Referenz
printf, _printf_l, wprintf, _wprintf_l