So konvertieren Sie eine Zeichenfolge in C ++ in eine INT in C ++

So konvertieren Sie eine Zeichenfolge in C ++ in eine INT in C ++
Die Datentypdeklaration der Variablen ist in C ++ obligatorisch, da es sich um eine stark typisierte Sprache handelt. Manchmal ist es erforderlich, den Datentyp einer Variablen von einem Typ zu einem anderen Typ für den Programmierzweck zu ändern, z. B. Zeichenfolge zu int oder int zu String. Diese Art der Konvertierung kann in C ++ durchgeführt werden, indem verschiedene Arten von integrierten Funktionen verwendet werden. In diesem Tutorial wurden die verschiedenen Möglichkeiten zur Umwandlung einer Zeichenfolge in C ++ gezeigt.

Voraussetzung:

Bevor Sie die Beispiele dieses Tutorials überprüfen, müssen Sie überprüfen, ob der G ++ - Compiler installiert ist oder nicht im System. Wenn Sie Visual Studio -Code verwenden, installieren Sie die erforderlichen Erweiterungen, um den C ++ - Quellcode zu kompilieren, um den ausführbaren Code zu erstellen. Hier wurde die Visual Studio -Codeanwendung zum Kompilieren und Ausführen des C ++ - Code verwendet.

Verwenden von ATOI () -Funktion:

Die ATOI () -Funktion wird verwendet, um eine Zahl zurückzugeben, indem eine von einem Zeichenarray erstellte Zeichenfolge in eine Ganzzahl erstellt wird. Der CSTDLIB Die Header -Datei ist erforderlich, um diese Funktion zu verwenden.

Syntax:

int atoi (const char *str)

Erstellen. Hier, die Strcpy () Die Funktion wurde verwendet, um die Zeichenfolge in ein Zeichen -Array umzuwandeln. Der Eingangszeichenzwert wurde in ein Zeichen -Array konvertiert, und der konvertierte Wert wurde in der Funktion attoi () verwendet, um den Ganzzahlwert der Zeichenfolge zu erhalten. Als nächstes wird die konvertierte Ganzzahl gedruckt, wenn die Umwandlung ordnungsgemäß durchgeführt wird.

// zum Drucken des Ausgangs einschließen
#enthalten
// Einschließen zur Verwendung der ATOI () -Funktion
#enthalten
// für die Verwendung der STRCPY -Funktion einschließen
#enthalten
int main ()
// eine String -Variable deklarieren
std :: String strdata;
// eine Chracter Array -Variable deklarieren
Char Strarr [50];
// Nehmen Sie eine Nummer vom Benutzer ab
std :: Cout<// Die Zeichenfolge in ein Charcater -Array umwandeln
Strcpy (Strarr, Strdata.c_str ());
// Umwandeln Sie das Charakter -Array in eine Ganzzahl
int number = std :: atoi (strarr);
// die Nummer drucken
std :: Cout<<"The converted number is = "<<
Nummer <<'\n';
Rückkehr 0;

Ausgang:

Die folgende Ausgabe wird angezeigt, wenn 6090 wird als Eingabe nach der Ausführung des Code.

Verwenden von STOI () -Funktion:

Die Funktion attoi () wird verwendet, um eine Zahl zurückzugeben, indem ein Stringwert in eine Ganzzahl konvertiert wird. Das erste Argument dieser Funktion ist obligatorisch, und die anderen Argumente sind optional. Die Syntax dieser Funktion ist unten angegeben.

Syntax:

int Stoi (const String & str, size_t* idx = 0, int base = 10)

Erstellen Sie eine C ++ - Datei mit dem folgenden Code, um die Zeichenfolge mit der Funktion STOI () in eine Ganzzahl umzuwandeln. Nach der Ausführung des Code wird der vom Benutzer genommene Eingabwert in eine Nummer konvertiert und gedruckt, wenn der Eingabewert eine gültige Nummer ist. Wenn der Eingangswert ein Alphabet oder nicht numerische Zeichen enthält, dann der dann die ungültiges Argument Die Ausnahme wird generiert und eine Fehlermeldung wird gedruckt.

// zum Drucken des Ausgangs einschließen
#enthalten
int main ()

// eine String -Variable deklarieren
std :: String strdata;
// Nehmen Sie eine Nummer vom Benutzer ab
std :: Cout<// Die Zeichenfolge mit Fehlerbehandlung in die Nummer konvertieren
versuchen
// Die Zeichenfolge in Ganzzahl umwandeln
int nummer = std :: Stoi (strdata);
// Drucken Sie die konvertierte Nummer
std :: Cout<<
"Die konvertierte Zahl ist ="<<
Nummer <<'\n';

// Fehler verwandeln, wenn die ungültige Nummer angegeben ist
catch (std :: Invalid_argument const & e)
std :: Cout<<"Input value is not a number.\n";

Rückkehr 0;

Ausgang:

Die folgende Ausgabe wird angezeigt, wenn 4577 wird als Eingabe nach der Ausführung des Code.

Die folgende Ausgabe wird angezeigt, wenn Hallo wird als Eingabe nach der Ausführung des Code.

Verwenden von String -Streams:

Verwendung Der IStringstream () Die Funktion ist eine weitere Möglichkeit, die Zeichenfolge in eine Ganzzahl zu konvertieren, indem der Operator '>>' verwendet wird. Erstellen Sie eine C ++ - Datei mit dem folgenden Code, um String -Daten in eine Ganzzahl zu konvertieren, indem Sie verwenden Der IStringstream () Funktion. Ein Zeichenfolgewert von Zahlen wurde in eine Zeichenfolgenvariable in dem Code zugewiesen, der als Argumentwert der verwendet wurde iStringstream () Funktion. Als nächstes wurde der konvertierte Ganzzahlwert gedruckt.

// zum Drucken des Ausgangs einschließen
#enthalten
// für die Verwendung der Funktion iStringStream () einbeziehen
#enthalten
int main ()

// eine String -Variable deklarieren
std :: string strdata = "12345";
// eine Ganzzahlvariable deklarieren
int nummer;
// Die Zeichenfolge in die Ganzzahl umwandeln
std :: isstringstream (strdata) >> nummer;
// Drucken Sie die konvertierte Nummer
std :: Cout<<"The converted number is = "<<
Nummer <<'\n';
Rückkehr 0;

Ausgang:

Die folgende Ausgabe wird nach der Ausführung des Codes angezeigt.

Verwenden von Sscanf () -Funktion:

Verwendung der sscanf () Funktion ist eine weitere Möglichkeit, die Zeichenfolge in eine Ganzzahl umzuwandeln. Der CSTDIO Die Header -Datei ist erforderlich, um diese Funktion zu verwenden. Erstellen Sie eine C ++ - Datei mit dem folgenden Code, um einen String -Wert in die Ganzzahl zu konvertieren, indem Sie die sscanf () Funktion. Nach der Ausführung des Skripts wird vom Benutzer ein String -Wert genommen. Wenn der Eingabewert ein gültiger Zahlenwert ist, wird der Eingangswert in die Ganzzahl konvertiert und gedruckt. Andernfalls wird eine Fehlermeldung gedruckt.

// zum Drucken des Ausgangs einschließen
#enthalten
// Einschließen zur Verwendung der Funktion SSCANF ()
#enthalten
int main ()
// eine String -Variable deklarieren
std :: String strdata;
// eine Ganzzahlvariable deklarieren
int nummer;
// Nehmen Sie eine Nummer vom Benutzer ab
std :: Cout<if (sscanf (strdata.c_str (), "%d", & nummer) == 1)
// Drucken Sie die konvertierte Nummer
std :: Cout<<"The converted number is = "<< number <<'\n';

anders
// Die Fehlermeldung drucken
std :: Cout<<"Input value is not a number.\n";

Rückkehr 0;

Ausgang:

Die folgende Ausgabe wird angezeigt, wenn 78325 wird als Eingabe nach der Ausführung des Code.

Verwenden Sie für Schleife:

Das folgende Beispiel zeigt, wie ein Stringwert in einen Ganzzahlwert umgewandelt wird, ohne dass eine integrierte Funktion verwendet wird. Erstellen Sie eine C ++ - Datei mit dem folgenden Code, um einen Zeichenfolgewert in eine Ganzzahl -Nummer zu konvertieren, indem Sie die 'für'Schleife. Ein Stringwert der Zahl wurde in eine Variable zugeordnet, die in der '' verwendet wurdefür'Schleife, um die Zeichenfolge in eine Ganzzahl umzuwandeln.

#enthalten
#enthalten
int main ()

// eine String -Variable deklarieren
std :: string strdata = "6000";
// eine Ganzzahlvariable deklarieren
int nummer;
// Die Zeichenfolge in Ganzzahl umwandeln
für (Char Chr: Strdata)
if (chr> = '0' && chr<= '9')
Nummer = Zahl * 10 + (chr - '0');

// Drucken Sie die konvertierte Nummer
std :: Cout<<"The converted number is = "<<
Nummer <<'\n';
Rückkehr 0;

Ausgang:

Die folgende Ausgabe wird angezeigt, wenn 6000 wird als Eingabe nach der Ausführung des Code.

Abschluss:

In diesem Tutorial wurden fünf verschiedene Möglichkeiten zur Umwandlung einer Zeichenfolge in eine Zahl beschrieben, indem einfache Beispiele verwendet werden, um den Lesern zu helfen.