%06.1f
-
%06.1f was bedeutet das ??
-
Das sieht nach einem Format Specifier aus. Da guckst du mal bei http://www.cplusplus.com/reference/clibrary/cstdio/printf/=printf
Bei printf bedeutet das ein Fließkommazahl (f) mit 1 Nachkommstelle (.1) und führender Nullen (0) ausgeben. Und das Ganze auf 6 Zeichen (6) begrenzt (der . zählt mit).
Aus 3.141 wird dann "0003.1"
-
gib doch einfach mal folgendes aus:
printf("Test: %06.1f\n", 3.1416); printf("Test: %6.1f\n", 3.1416); printf("Test: %06.3f\n", 3.1416); printf("Test: %02.1f\n", 3.1416);
und schau dir die Ergebnisse an. Schau dir die Unterschiede an und probiere das auch mit anderen Daten
MfG f.-th.
-
Ups, Link falsch editiert.
Hier noch mal ein Link zu printf
-
Hier noch ein Link mit ein paar anderen Varinaten:
http://de.wikibooks.org/wiki/C-Programmierung:_Einfache_Ein-_und_Ausgabehab es nicht auf mehreren Compilern getestet:
printf("Test: %02.1f\n", 3.1416); // gibt in diesem Fall 3.1 aus und nicht nur 2 Positionen ! printf("Test: %03.1f\n", 3.1416); // hier auch <- wie zu erwarten war
Ist der Compiler doch hin und wieder in der Lage so was "besser" zu zeigen
Hab jetzt nicht nachgesehen ob man sich darauf verlassen kann oder verlassen ist, wenn man es provoziertMfG f.-th.