printf-Genauigkeitsbezeichner

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu printf, wprintf


Die printf-Genauigkeitsbezeichner legen die maximale Anzahl der auszugebenden Zeichen (oder die minimale Anzahl der auszugebenden Integer-Ziffern) fest.

Eine printf-Genauigkeitsangabe beginnt zur Abgrenzung von vorausgehenden Breitenbezeichnern immer mit einem Punkt (.).

Zum Festlegen der Genauigkeit stehen dann wie bei der Breite die folgenden beiden Möglichkeiten zur Verfügung:

  • Direkt mit einem dezimalen Ziffern-String.
  • Indirekt mit einem Sternchen (*).

Wenn Sie ein Sternchen (*) als Genauigkeitsbezeichner verwenden, legt das nächste Argument in dem Aufruf (wird als int behandelt) die Genauigkeit fest.

Wenn Sie für die Breite oder die Genauigkeit oder für beide ein Sternchen verwenden, muss die folgende Reihenfolge eingehalten werden: sofort nach den Bezeichnern folgt das Breitenargument, dann das Genauigkeitsargument und schließlich das Argument für die zu konvertierenden Daten.

[.Genauigkeit] Auswirkungen auf die Genauigkeit der Ausgabe

(keine)

Für die Genauigkeit werden die Standardwerte verwendet:

= 1 für die Typen d,i,o,u,x,X

= 6 für die Typen e,E,f

= Alle signifikanten Ziffern für die Typen g,G

= Ausgabe bis zum ersten Nullzeichen für den Typ s

= Keine Auswirkung für c-Typen

.0

Für die Typen d,i,o,u,x wird die Genauigkeit auf den Standard gesetzt

Für die Typen e,E,f wird kein Dezimalzeichen ausgegeben

.n

Es werden n Zeichen oder n Dezimalstellen ausgegeben.

Wenn der Ausgabewert größer als n Zeichen ist, wird die Ausgabe möglicherweise abgeschnitten oder gerundet (ist abhängig vom Typzeichen).

.

Die Argumentliste gibt den Genauigkeitsbezeichner an, der vor dem zu formatierenden eigentlichen Argument stehen muss.


Wenn die folgenden Bedingungen zutreffen, werden keine numerischen Zeichen für ein Feld ausgegeben (d.h., das Feld ist leer):

  • Sie haben explizit eine Genauigkeit von 0 angegeben.
  • Der Formatbezeichner für das Feld legt ein Integer-Format (d, i, o, u oder x) fest.
  • Der auszugebende Wert ist 0.


Auswirkungen der [.Genauigkeit] auf die Konvertierung

Zeichentyp Auswirkung von [.Genauigkeit] (.n) auf die Konvertierung

d

i

u

x

X

Legt fest, dass mindestens n Ziffern ausgegeben werden.

Wenn das Eingabeargument weniger als n Ziffern hat, wird der Ausgabewert links mit Nullen aufgefüllt.

Wenn das Eingabeargument mehr als n Ziffern hat, wird der Ausgabewert nicht abgeschnitten.

e

E

f

Legt fest, dass n Zeichen nach dem Dezimalzeichen ausgegeben werden, und dass die letzte ausgegebene Ziffer gerundet wird.

g

G

Legt fest, dass höchstens n signifikante Ziffern ausgegeben werden.

c

s

Hat keine Auswirkungen auf die Ausgabe.

Legt fest, dass nicht mehr als n Zeichen ausgegeben werden.


Siehe auch