fprintf < Matlab < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 09:54 Fr 08.07.2011 | Autor: | ewe |
c=12;
fprintf('%d',c)
damit die ausgabe statt 12 '012' wird, was soll ich noch zu %d schreiben ??
danke für die hilfe..
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
> c=12;
> fprintf('%d',c)
>
> damit die ausgabe statt 12 '012' wird, was soll ich noch
> zu %d schreiben ??
Macht es Sinn eine Null davor zu schreiben?
Wenn es dir um das Layout geht:
Ansonsten kann ich dir " fprintf('%3d',c) " vorschlagen. Da ist zwar keine Null davor, jedoch hat die Ausgabe 3 Zeichen Platz. Für Tabellen kannst du ja " fprintf('\t%d \t',c) " mit Tabstopps nehmen.
Ansonsten:
maxlen = 4; % Ausgabebreite
c=12; % Ausgabewert
fprintf('%s%d',repmat('0',1,maxlen-length(int2str(c))),c) ;
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 18:41 Sa 09.07.2011 | Autor: | felixf |
Moin!
> c=12;
> fprintf('%d',c)
>
> damit die ausgabe statt 12 '012' wird, was soll ich noch
> zu %d schreiben ??
> danke für die hilfe..
Du musst fprintf('%03d', c) schreiben. Die 0 sagt, dass die Zahl mit Nullen vorne aufgefuellt wird, und die 3 sagt dass die Zahl als Ergebnis drei Stellen breit sein soll. (Wenn sie laenger ist, wird sie einfach ganz normal ausgegeben.)
LG Felix
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 18:32 Mo 11.07.2011 | Autor: | wieschoo |
> Moin!
>
> > c=12;
> > fprintf('%d',c)
> >
> > damit die ausgabe statt 12 '012' wird, was soll ich noch
> > zu %d schreiben ??
> > danke für die hilfe..
>
> Du musst fprintf('%03d', c) schreiben. Die 0
> sagt, dass die Zahl mit Nullen vorne aufgefuellt wird, und
> die 3 sagt dass die Zahl als Ergebnis drei Stellen breit
> sein soll. (Wenn sie laenger ist, wird sie einfach ganz
> normal ausgegeben.)
>
> LG Felix
>
So geht's auch .
|
|
|
|