Auf Länge von Zahlen prüfen
-
Hallo,
gibt es eine Möglichkeit bei einer eingebene Zahl zu überprüfen was für eine Zahl am ende steht. ich möchte z.B. bei einer 10-Stelligen Zahl oder größer wissen welches die letze Zahl ist.
-
Meinst die letzte Ziffer? Die kannst du per "zahl%10" erhalten (Modulo-Operator)
-
ok, aber gibt es nicht einen befehl der mir die anzahl der ziffern ausgibt, damit das auch zum beispiel klappt wenn ich 12 stellen habe, da die länge der zahlen sich sehr unterscheiden kann
-
Hallo
die Zahl in einen (C-) String umwandeln und Stringlänge bestimmen.
bis bald
akari
-
int zahl = 1234567; int laenge = 1; while(zahl >= 10) { zahl = zahl / 10; laenge++; }Anzahl der Stellen einer Zahl.
-
Das lese ich ja jetzt erst:
thebrain05 schrieb:
ok, aber gibt es nicht einen befehl der mir die anzahl der ziffern ausgibt, damit das auch zum beispiel klappt wenn ich 12 stellen habe, da die länge der zahlen sich sehr unterscheiden kann
zahl % 10 gibt dir die letzte Ziffer einer Zahl. Egal, ob die Zahl 10 Stellen, 12 Stellen, 4711 Stellen oder 48372468234345324 Stellen (wenn du einen passenden Datentyp dafür hast) hat. Hauptsache du möchtest sie im Dezimalsystem betrachten.
-
habe das gemacht mit dem modulo operator doch leider macht er das nicht. sonder gibt irgend eine zahl aus.
-
Dann Zeig doch mal deinen Quellcode dann kann man dir besser helfen.
-
DarthZiu schrieb:
Hauptsache du möchtest sie im Dezimalsystem betrachten.
natürlich sollte der Datentyp ganzzahlig sein
-
Was heißt denn bitte "macht er das nicht"?.
int antwort = 42; int letzte_stelle = antwort % 10; // wenn hier nicht 2 rauskommt, bricht mein weltbild zusammen!! cout << letzte_stelle << endl;
-
habe meinen fehler gefunden. lag daran das ich die falsche zahl genommen habe, bzw. er die veränderte zahl genommen hat, was ich nicht bemerkt hatte.