01 in einem int speichern??
-
hallo zusammen!
ich möchte fragen ob es irgend eine möglichkeit gibt in einem int die Zahl 1 zu speichern aber mit 0 voran? Das brauch ich für Datum Sachen und ich hätte die Zahl gerne 2 stellig. Ich weiß - das ganze sollte anders gemacht werden und ich hab auch nachher keine möglichkeit mehr das 2-stellig zu machen. Die einzige Möglichkeit ist eben eine Zahl in einem int zu speichern mit vorstehender null.
weiß jemand wie das machbar ist?!?
danke schonmal
lg, loop
-
in einem String.
-
ich sagte doch schon das es ein int sein muß, in einem string wäre das kein problem...
-
in einem int werden die Zahlen immer ohne führende Nullen gespeichert (genau genommen werden sie als Binärzahl mit fester Größe gespeichert). Also kannst du sie entweder als String abspeichern oder geeignet formatieren:
// C-Version: printf("%02d\n",zahl); // C++-Version cout<<(zahl<10)?"0":""<<zahl<<endl;
-
l00P schrieb:
ich sagte doch schon das es ein int sein muß, in einem string wäre das kein problem...
Gehörst wohl auch zu den Leuten die PLZ oder Kontodaten in ner Zahl speichern was^^ Erinnert mich an nen schönen Bug für die Software für de Arbeitsagentur, wo die Kontonummern nicht mehr gestimmt hatten ... lol
-
l00P schrieb:
weiß jemand wie das machbar ist?!?
Geht nicht. Ganzzahltypn sind dazu da, Werte zu speichern, und keine Anzeigeformate oder ähnliches.
-
Geht doch.
Wenn du ein datum hast, mach einfach zahl +100;
Mit zahl % 100 erhältst du deine Zahl dann auch wieder.Oder nimm nen string(stream).
-
phlox81 schrieb:
Geht doch.
Wenn du ein datum hast, mach einfach zahl +100;
Mit zahl % 100 erhältst du deine Zahl dann auch wieder.Und wo bleibt die führende 0 zB bei 105 % 100. Nochmal, Wert und Darstellung sind zwei verschiedene Dinge und dementsprechend auch verschieden zu handeln.
-
Und wie man die Darstellung regeln kann, habe ich oben schon geschrieben
btw, eine Elegantere Lösung in C++ wäre das:cout.width(2);cout.fill('0'); cout<<zahl;
(der Wert von fill() bleibt bestehen, wenn du mehrere Zahlen ausgeben willst, width() mußt du vor jeder Ausgabe neu einstellen)
-
danke für eure beiträge, dachte mir schon das das nicht geht