Zeichen aus int auslesen
-
Hallo
wie kann ich einzelne ziffern aus einem int auslesen. Ich will das ganze nicht immer in einen string umwandeln
Danke
martin
-
Verstehe nicht so ganz was Du meinst ?!
int i = 12; soll zu "12" werden ?
-
nein, ich meine:
i = 25637;
a soll 3 sein, weil die 3 an vierter stelle steht, oder a soll 5 sein, weil die 5 an zweiter stelle steht. ich will nur eine ziffer an bestimmter stelle auslesen
-
Er will eine Ziffer einer Zahl haben, ohne die Zahl in einen String
umzuwandeln.
Wenn du eine Zahl hast z.B. 12345 und die dritte Ziffer von rechts haben willst,
dann kannst du:
Dritte Ziffer = (Zahl Modulo 1000) / 100
-
wie kann ich einzelne ziffern aus einem int auslesen
Meinst du sowas:
#include <iostream> #include <cmath> using namespace std; int main() { int n = 1232; cout << "Die Zahl: " << n << " besteht aus den Ziffern:\n"; do { cout << abs(n%10) << "\n"; n/=10; }while(n != 0); }
-
Dritte Ziffer = (Zahl Modulo 1000) / 100
Was soll das bedeuten?
-
int Zahl = 12345; int Ziffer = (Zahl % 1000) / 100; std::cout << Ziffer;
Sollte 3 ausgeben.
-
mal anders gefragt, wie kann ich von einer zahl nur die letzte ziffer rauskrigene?
int i = 4356
das soll 6 ergeben
oder
int i = 33452
das soll 2 ergeben
Gibt es da nicht irgenteine funktion wie lefr() oder right() ?
-
mal anders gefragt, wie kann ich von einer zahl nur die letzte ziffer rauskrigene?
int einer = Zahl%Basis;
-
Dann schreibe ich es nochmal Allgemein auf:
int Ziffer = (Zahl % (Stelle im Zehnersystem*10)) / Stelle im Zehnersystem.
int Zahl = 12345; int Ziffer1 = (Zahl % (1*10)) / 1; //1. Ziffer steht an der 1. Stelle int Ziffer2 = (Zahl % (10*10)) / 10; //2. Ziffer steht an der 10. Stelle int Ziffer3 = (Zahl % (100*10)) /100; //3. Ziffer steht an der 100. Stelle
12345 |||||- 1. Stelle ||||-- 10. Stelle |||--- 100. Stelle ||---- 1000. Stelle |----- 10000. Stelle
[ Dieser Beitrag wurde am 10.06.2003 um 20:15 Uhr von C Newbie editiert. ]
-
Danke für die hilfe, jetzt verstehe ich es
-
Ich verstehe das ehrlich gesagt noch nicht so ganz...
Wie bekommt man denn die letzte Ziffer raus, wenn eine Zahl variabel ist, also mal 5 und mal 23 Ziffern haben kann?
Kann mich da bitte mal jemand aufklären?
-
Schau dir doch nochmal Humes letzten Beitrag an. Voraussetzung ist natürlich, dass du den Modulo Operator verstanden hast.
Und jede andere Ziffer kann man auf die gleiche Art und Weise herausbekommen. Man muss halt vorher blos noch die gewünschte Ziffer an die Einer-Stelle verschieben. Willst du zB die dritte Ziffer, dividierst du erst durch 100, die vierte, dann durch 1000 usw.
-
Mit den MFC habe ich es hinbekommen.
Ich habe einfach int in CString konvertiert und das letzte Zeichen wieder in int konvertiert. Fertig. *g*
Und Modulo verstehe ich natürlich. Ich wüsste nur nicht, wie ich es in Standard C++ hinbekommen würde. :p