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

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

WBOY
WBOYnach vorne
2023-08-27 12:53:122615Durchsuche

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;
}

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

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;
}

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

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen