Printf: Platz für "-"-Zeichen und führende Nullen

OP #5782901
Lesenswert?
• ▲
▼
Hallo zusammen,

ich stehe gerade mit dem Printf-Format-String unter C wieder auf dem 
Schlauch. Ich will drei führende Nullen vor dem Komma und zwei 
nachfolgende Stellen nach dem Komma - als dass immer fünf Stellen 
sichtbar sind.

Das Vorzeichen soll zusätzlich vor der ersten Null erscheinen. Ob beim 
nicht-Vorzeichen ein Leerzeichen oder nichts entsteht, ist mir egal.

Bei printf(" %06.2f", -1.f); klaut das Minuszeichen die erste Null. Bei 
printf(" %-06.2f", -1.f); werden die führenden Nullen ignoriert.

Gibt es da einen Trick, oder muss ich mir meinen String aus 
Ziffern+Vorzeichen selbst zusammenbauen?
Moderator #5782927
Lesenswert?
• ▲
▼
Walter T. schrieb:
> Das Vorzeichen soll zusätzlich vor der ersten Null erscheinen. Ob beim
> nicht-Vorzeichen ein Leerzeichen oder nichts entsteht, ist mir egal.

Darf für positive Zahlen auch ein '+' vorangestellt werden? Dann wäre
"%+07.2f" das geeignete Format.

Edit: "% 07.2f" scheint genau das zu tun, was du erwartest. Muss es aber
erst ausprobieren.

Edit2: Ja, "% 07.2f" tut und ist ISO-konform.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren