Menu
Coddy logo textTech

Type Casting Teil 2

Teil des Abschnitts Grundlagen der C++-Journey von Coddy — Lektion 15 von 74.

In C++ können wir Zahlen in Strings umwandeln und umgekehrt. Um einen Wert in einen String zu konvertieren, können wir die Funktion std::to_string() verwenden:

int number = 789;
bool isValid = true;
string text1 = to_string(number);  // wird zu "789"
string text2 = isValid ? "true" : "false";  // wird zu "true"

Wenn Sie ein double mit to_string() in einen String umwandeln, werden standardmäßig 6 Dezimalstellen angezeigt, selbst wenn die ursprüngliche Zahl nicht so viele Dezimalstellen hat.

Zum Beispiel:

double n1 = 789.0;
string text1 = to_string(n1);
// wird zu "789.000000"

double n2 = 789.5;
string text2 = to_string(n2);
// wird zu "789.500000"

double n3 = 789.123;
string text3 = to_string(n3);
// wird zu "789.123000"

Um einen String in einen anderen Typ umzuwandeln, haben wir mehrere Möglichkeiten:

String zu Integer:

string numberText = "123";
int number = stoi(numberText);  // wird zu 123

String to Double:

string decimalText = "45.67";
double decimal = stod(decimalText);  // wird zu 45.67

Hinweis: Beim Konvertieren von Strings in Zahlen lesen diese Funktionen so viele gültige Zeichen wie möglich vom Anfang des Strings. Sie werfen nur dann einen Fehler aus, wenn der String mit einem ungültigen Zeichen beginnt:

string validStart = "42abc";
int number = stoi(validStart);  // wird zu 42 (nachfolgende Buchstaben werden ignoriert)

string invalidStart = "abc";
int number2 = stoi(invalidStart);  // Dies wird einen Fehler auslösen

Spickzettel

Konvertieren Sie Zahlen in Strings mit std::to_string():

int number = 789;
string text = to_string(number);  // wird zu "789"

Das Konvertieren von Doubles zeigt standardmäßig 6 Dezimalstellen:

double n = 789.5;
string text = to_string(n);  // wird zu "789.500000"

Konvertieren Sie Strings in Integer mit stoi():

string numberText = "123";
int number = stoi(numberText);  // wird zu 123

Konvertieren Sie Strings in Doubles mit stod():

string decimalText = "45.67";
double decimal = stod(decimalText);  // wird zu 45.67

Hinweis: Das Konvertieren von ungültigen Strings in Zahlen führt zu einem Fehler.

Probier es selbst

Diese Lektion enthält keine Programmieraufgabe.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Grundlagen