Was bedeutet %06d in der Programmierung?

Irgendwie soll das für die Stapelverarbeitung sein. Anders wo steht es als %03d. Hat evtl. irgend etwas mit der Programmiersprache Python zu tun.

Irgendwie soll das für die Stapelverarbeitung sein. Anders wo
steht es als %03d. Hat evtl. irgend etwas mit der
Programmiersprache Python zu tun.

Ich nehme mal an %06d steht in einem String.
In dem Falle waere es ein Operator, der die Representation
einer Variable an der Stelle des Operators Definiert (http://docs.python.org/library/stdtypes.html#string-…). % ist das escape Zeichen, welches den Operator als solchen Kennzeichnet. 0 beschreibt, dass kuerzere Zahlen mit Nulllen aufgefuellt werden sollen. 6 Nennt die Anzahl stellen die die Zahlenrepresentation haben soll und d steht fuer den Datentyp signed Integer.

Im Klartext bedeutet %06d das eine nachfolgende Variable in einen String aus mindestens sechs Zeichen konvertiert werden soll. Falls die Zahl weniger als 6 Stellen hat, werden Nullen vorangesetzt um auf sechs Stellen aufzufuellen.

Wenn ein solcher Operator in einem String steht, muss die Variable dem String nachgestellt werden.

Ein Beispiel:
>>>zaehne = 11
>>>‚Ich habe noch %03d Zaehne‘ % (zaehne)
‚Ich habe noch 011 Zaehne‘

Die Zahl elf wird in einen String eingebettet in einer textuellen representation mit mindestens drei Stellen, bei kleinerer Zahl mit vorangestellten Nullen.

Ich hoffe ich konnte helfen, und immer schoen putzen!

Hallo garadam,

das ist ein Format-Operator für Ausgaben; z.B. am Bildschirm, oder auf den Drucker oder in eine Datei. Er beschreibt wie eine Zahl als Text dargestellt werden soll. Kommt ursprünglich aus der C-Welt [1], wird aber auch in Python verwendet. Konkret bedeutet „%06d“ folgendes: Nimm die vorzeichenbehaftete Dezimalzahl (‚d‘) und verwende 6 Spalten für die Ausgabe (‚6‘). Hat die Zahl weniger als 6 Stellen, fülle vorne mit Nullen auf (‚0‘).

„%03d“ ist dasselbe, aber halt nur 3 Zeichen breit.

HTH,
tschaboo

[1] http://pubs.opengroup.org/onlinepubs/009695399/funct…
[2] http://docs.python.org/release/2.5.2/lib/typesseq-st…

Irgendwie soll das für die Stapelverarbeitung sein. Anders wo
steht es als %03d. Hat evtl. irgend etwas mit der
Programmiersprache Python zu tun.

Hast du ein Stück Sourcecode wo das vorkommt?

Normalerweiße verwendet man %03d in Formatstrings, sprich wenn man Zahlen etc. formatiert ausgeben will.

Das %-Zeichen leitet so eine Formatierung ein. Das „d“ steht für einen „Signed decimal integer“, also eine vorzeichenbehaftete Ganzzahl.
Das was zwischen % und d steht, sind sog. „Flags“. Das 3 gibt an, dass min. 3 Zeichen ausgegeben werden, die 0 gibt an, dass die Zahl links mit Nullen aufgefüllt wird, falls sie weniger als 3 Zeichen hat.

Die Zahl 5 wird bei obigem Formatstring als „005“ ausgegeben.
Genauer nachlesen kannst du das z.B. hier: http://en.wikipedia.org/wiki/Printf#Format_placeholders

Dies ist eine Formatierungsanweisung für Zahlen. Die Funktion heißt meist printf.
„d“ => Integerzahl
„06“ => 6-stellig mit führenden Nullen.
Das gibt es in vielen Programmiersprachen, unter anderem auch Python.
Siehe z.B. hier: http://www.cplusplus.com/reference/clibrary/cstdio/p…

Irgendwie soll das für die Stapelverarbeitung sein. Anders wo
steht es als %03d. Hat evtl. irgend etwas mit der
Programmiersprache Python zu tun.

Tut mir leid, ich habe deine Frage wohl on meinem Postfach übersehen. Nun, da sonst noch niemand geantwortet hat, meine 2 cents:

%03d oder %06d sind üblicherweise Formatierungsvorschrfiten zum Einfügen von Zahlen in Strings. In diesem Zusammenhang gibt die Kombination %06d an, dass eine dezimale (Ganz-) Zahl, mit Vornullen auf 6 Stellen gebracht und in eine Zeichenkette eingefügt werden sollen.
so ergibt z.B. der Befehl

print „Hallo %06d!“ % (1234)

die Ausgabe:

Hallo 001234!

In Zusammenhang mit Stapelverarbeitung habe ich diese Buchstaben noch nicht gesehen. Ich kann aber sicher mehr sagen, wenn du etwas mehr Hintergrundinformationen angibst. In welchem Zusammenhang hast du dies gesehen? Handelt es sich um ein Programm? Kannst du das Programm, oder den relevanten Kontext des Befehls in dem es auftaucht posten?

Hallo garadam,

Python konvertiert mit diesem Ausdruck auf die Anzahl der eingestellten Stellen.

>>> ‚%s bestimmt hier die Anzahl der Stellen %03d.‘ % (‚Python‘, 2)
‚Python bestimmt hier die Anzahl der Stellen 002.‘

>>> ‚%s bestimmt hier die Anzahl der Stellen %06d.‘ % (‚Python‘, 2)
‚Python bestimmt hier die Anzahl der Stellen 000002.‘

Viele Grüße
Stefan

Irgendwie soll das für die Stapelverarbeitung sein. Anders wo
steht es als %03d. Hat evtl. irgend etwas mit der
Programmiersprache Python zu tun.