Heim > Backend-Entwicklung > C++ > C++-Programm zum Überprüfen, ob eine Zeichenfolge eine Zahl ist

C++-Programm zum Überprüfen, ob eine Zeichenfolge eine Zahl ist

WBOY
Freigeben: 2023-08-27 12:53:12
nach vorne
2704 Leute haben es durchsucht

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.

Überprüfen Sie, ob eine Zeichenfolge eine Zahl ist

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 -

Algorithmus

  • Lesen Sie die Zeichenfolge s als Eingabe
  • Gehen Sie für jedes Zeichen c in der Zeichenfolge s wie folgt vor
    • Wenn c keine Zahl ist, dann
      • Rückgabefehler
    • Ende wenn
  • Ende
  • true zurückgeben

Beispiel

#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;
}
Nach dem Login kopieren

Ausgabe

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
Nach dem Login kopieren

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.

Überprüfen Sie, ob eine Zeichenfolge negativ oder positiv ist

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 -

Algorithmus

  • Lesen Sie die Zeichenfolge s als Eingabe
  • Wenn das erste Zeichen von s „-“ ist und das nächste Zeichen eine Zahl ist, dann
    • st = 1
  • Sonst
    • st=0
  • Wenn es endet
  • Führen Sie für jedes Zeichen c in der Zeichenfolge s, beginnend bei Index st, Folgendes aus
    • Wenn c keine Zahl ist, dann
      • Rückgabefehler
    • Wenn es endet
  • Ende
  • true zurückgeben

Beispiel

#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;
}
Nach dem Login kopieren

Ausgabe

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
Nach dem Login kopieren

Fazit

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage