Was ist c printf% f Standardgenauigkeit?
Frage
Ich bin neugierig:
Wenn Sie eine printf("%f", number);
tun, was die Genauigkeit der Aussage? D. h Wie viele Dezimalstellen angezeigt? Ist das Compiler abhängig?
Lösung
Der ANSI-C-Standard in Abschnitt 7.19.6.1, sagt dies über die f Formatbezeichner:
Wenn die Genauigkeit fehlt, 6 Ziffern angegeben
Andere Tipps
Die Standardgenauigkeit für %f
ist 6-stellig (siehe ISO C99-Spezifikation, 7.19.6.1/7).
Das Buch, C: A Reference Manual die besagt, wenn keine Genauigkeit dann wird die Standardgenauigkeit beträgt 6 (dh 6 Ziffern nach dem Dezimalpunkt) angegeben.
Ein Nachteil ist, wenn die Zahl inf (d.h. 1,0 / 0,0) oder NaN dann spezifiziert C99, dass die Ausgabe inf werden soll, -INF, Unendlichkeit, -Infinity oder nan etc ....