Char auf Zahlen Prüfen und in int umwandeln



  • So ok ich dank euch für eure unendliche Gedult 😉

    Da das Forum zugleich auch eine lösungssammlung ist hier noch die Lösung die Funktionieren müsste, wenn nicht berichtigt mich -.-

    bool isnum = true;
    	char *Teststring = "1234rrt"
    	int strlen = strlen(Teststring)
    
    	for(int i = 0; i < strlen; i++)
    	{
    		if(!isdigit(Teststring[i]))		
    			isnum = false;		
    	}
    
    	if(isnum)			
    		int test = atoi(Teststring);
    


  • Sieht schon gut aus! Vielleicht noch ein paar Details:

    • Strichpunkte nicht vergessen.
    • Stringliterale wie "1234rrt" würde ich in const char* und nicht char* speichern. Verändern darfst du sie ohnehin nicht, so verhinderst du allfällige Fehler.
    • Ich würde nicht strlen als Bezeichner wählen.
    • Wenn du willst, kannst du den Schleifeninhalt in einer Zeile mit logischem And && ausdrücken. Nur falls dir langweilig ist... 🙂

Anmelden zum Antworten