Heim >Backend-Entwicklung >C++ >C++-Programm zum Überprüfen, ob eine Zeichenfolge eine Zahl ist
Die Verwendung von Zeichenfolgen oder Zeichen ist sehr hilfreich bei der Lösung von Schwierigkeiten bei der Logikprogrammierung. Zeichen in einer Zeichenfolge sind 1-Byte-Datentypen, die Symbole in ASCII-Werten speichern können. Eine Zeichenfolge ist eine Sammlung von Zeichen. Diese Symbole können Sonderzeichen, Zahlen aus dem Zahlensystem oder Buchstaben aus dem englischen Alphabet sein. In diesem Artikel erfahren Sie, wie Sie mit C++ feststellen, ob es sich bei einem Zeichen um ein numerisches Zeichen handelt.
Um zu überprüfen, ob eine bestimmte Zeichenfolge eine Zahl ist, müssen wir prüfen, ob jedes Zeichen darin eine Zahl ist. Wenn eines der Zeichen ein nicht numerisches Zeichen ist, ist die Zeichenfolge nicht numerisch, andernfalls ist sie numerisch. Der Algorithmus ist wie folgt -
#include <iostream> #include <ctype.h> using namespace std; string solve( string s ) { for( int i = 0; i < s.length(); i++ ) { if( !isdigit( s[i] )) { return "False"; } } return "True"; } int main() { cout << "Is "589" a numeric string? : " << solve( "589" ) << endl; cout << "Is "69a" a numeric string? : " << solve( "69a" ) << endl; cout << "Is "2979624" a numeric string? : " << solve( "2979624" ) << endl; cout << "Is "25\%4A" a numeric string? : " << solve( "25\%4A" ) << endl; cout << "Is "889" a numeric string? : " << solve( "889" ) << endl; }
Is "589" a numeric string? : True Is "69a" a numeric string? : False Is "2979624" a numeric string? : True Is "25%4A" a numeric string? : False Is "889" a numeric string? : True
Diese Lösung prüft, ob die angegebene Zeichenfolge eine Zahl ist, gibt jedoch nicht „true“ zurück, wenn die Eingabe negativ ist. Für negative Zahlen sind besondere Prüfungen erforderlich.
Um zu überprüfen, ob die angegebene Zeichenfolge eine Zahl ist, müssen wir nur prüfen, ob jedes Zeichen eine Zahl ist. Bei negativen Zahlen muss das erste Zeichen jedoch ein „-“-Zeichen sein. Überprüfen Sie also zunächst, ob das erste Zeichen negativ ist, dann prüfen Sie, ob das nächste Zeichen eine Zahl ist, und wenn ja, prüfen Sie, ob die restlichen Zeichen Zahlen sind. Der Algorithmus ist wie folgt -
#include <iostream> #include <ctype.h> using namespace std; string solve( string s ) { int start; if( s[0] == '-' && isdigit( s[1] ) ) { start = 1; } else { start = 0; } for( int i = start; i < s.length(); i++ ) { if( !isdigit( s[i] )) { return "False"; } } return "True"; } int main() { cout << "Is "687" a numeric string? : " << solve( "687" ) << endl; cout << "Is "256l" a numeric string? : " << solve( "256l" ) << endl; cout << "Is "-5845" a numeric string? : " << solve( "-5845" ) << endl; cout << "Is "-89A2" a numeric string? : " << solve( "-89A2" ) << endl; cout << "Is "-256" a numeric string? : " << solve( "-256" ) << endl; }
Is "687" a numeric string? : True Is "256l" a numeric string? : False Is "-5845" a numeric string? : True Is "-89A2" a numeric string? : False Is "-256" a numeric string? : True
Um zu überprüfen, ob die angegebene Zeichenfolge eine Zahl ist, müssen wir jedes Zeichen davon überprüfen. Eine Zeichenfolge ist eine Zahl, wenn alle Zeichen Zahlen sind. In diesem Artikel verwenden wir auch Logik, um negative Zahlen zu überprüfen. Wenn das erste Zeichen ein negatives Vorzeichen ist, prüfen Sie, ob das nächste Zeichen eine Zahl ist. Wenn ja, dann überprüfen Sie den Rest. Dieses Programm kann erweitert werden, um Gleitkommazahlen zu überprüfen. Jetzt funktioniert es nur für positive und negative ganze Zahlen.
Das obige ist der detaillierte Inhalt vonC++-Programm zum Überprüfen, ob eine Zeichenfolge eine Zahl ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!