CString Problem ?
-
Hallo,
Wie kann ich Prüfen ob in einem CString eine Zahl enthalten ist oder ein text !!
Also Wen ich CString string;
string == "Hallo 15";Dann ist es ein String !!
string = "Hallo";
auch ein string
wenn aber string = "1459";
dann soll die funktion mir sagen ja es ist eine zahl !!
Gibt es sowas schon ???
Danke Coolsero
-
nur ne idee.
vielleicht über den ascii-code ?
jedes stringzeichen überprüfen, welchen ascii-wert es hat.
-
Versteh ich das richtig?
Solange nur Zahlen vorkommen, soll er sagen es sind Zaheln ansonsten immer String ?
-
ich hab schonmal ne funktion isNaN(double dWert) benutzt, aber da musst du deinen string in einen double wert kriegen. wird eigentlich zum überprüfen von zahleneingaben oder so benutzt..
viel spass:)
-
Das wäre eine Art es zu teste:
CString string = "Hallo 134"; //String der geprüft werden soll AfxMessageBox(check(string)); //MessageBox ob Zahl oder String | check ist die Funktion . . //Das ist die Funktion CString CTestDlg::check(CString test) { CString ret; bool num = true; int len = test.GetLength(); int x = 0; while(x < len) //Solang x kleiner ist wie der String { CString tmp = test.GetAt(x); //Hier wird immer ein Zeichen weiter gegangen if('0' <= tmp && tmp <= '9') //Hier wird geschaut ob das Zeichen ein Zahl ist { //Wenn ja nix machen } else { num = false; //Hier wird makiert das Buchstaben drin vorkommen break; //Dann kann er ja auch schon aufhören zu gucken :) } x++; } if(num == true) //Hier guckt er jetzt ob eine Makierung da ist oder nicht return ret = "zahl"; else return ret = "string"; }
So das wärs...
-
Hallo all,
Danker erst mal für die Hilfe !!
Hab mir jetzt ne Funktion geschreiben !! Funst super !!
Gruß Coolsero
-
dann lass doch mal sehen !!! *neugierigbin!*
-
bool CLibrarythread::checknummer(CString tnummer) { for( int i=0; i<=tnummer.GetLength()-1; i++) { TCHAR z = tnummer[i]; if( isdigit(z)) { } else return false; } return true; }
-
ich sag dazu jetzt nix mehr