Type Casting Teil 1
Teil des Abschnitts Grundlagen der C++-Journey von Coddy. Lektion 14 von 74.
Typumwandlung ist der Prozess der Konvertierung eines Werts von einem Datentyp in einen anderen.
In C++ können wir Ganzzahlen in doubles, doubles in Ganzzahlen und mehr umwandeln. Es gibt zwei Arten der Typumwandlung: implizite (automatische) und explizite (manuelle) Typumwandlung.
Zum Beispiel Integer to Double:
Implizite (automatische) Typumwandlung:
int number = 5;
double decimal = number; // wird automatisch zu 5.0
// mit Berechnung
int x = 7;
double result = x / 2.0; // Ergebnis ist 3.5Hinweis: Beim Dividieren zweier int-Werte führt C++ eine Ganzzahldivision durch: Der Dezimalteil wird verworfen. Zum Beispiel ergibt 7 / 2 3, nicht 3.5. Um ein Dezimalergebnis zu erhalten, muss mindestens einer der Operanden ein double sein (z. B. ergibt 7 / 2.0 3.5).
Explizite (manuelle) Umwandlung von Double to Integer:
double decimal = 9.7;
int number = (int) decimal; // wird 9 (Dezimalteil wird abgeschnitten)
// mit Berechnung
double price = 19.99;
int roundedPrice = (int) price; // wird 19Bevorzugter moderner C++-Stil: Anstelle des C-Style-Casts (int) decimal ist es besser, static_cast<>() zu verwenden, da dies sicherer ist und deine Absicht ausdrücklicher macht:
double decimal = 9.7;
int number = static_cast<int>(decimal); // wird zu 9 (Dezimalteil wird abgeschnitten)
double price = 19.99;
int roundedPrice = static_cast<int>(price); // wird zu 19Hinweis: Sowohl (int) value als auch static_cast<int>(value) erzeugen hier dasselbe Ergebnis, aber static_cast<>() ist der empfohlene Ansatz im modernen C++, da er die Konvertierung deutlich sichtbar macht und vom Compiler überprüft wird.
Aufgabe
AnfängerSchreibe ein C++-Programm, das Typumwandlung demonstriert. Führe Folgendes durch:
Wandle die Variable price in einen int um und speichere das Ergebnis in einer neuen Variable namens intPrice.
Probier es selbst
#include <iostream>
int main() {
// Variablen deklarieren und initialisieren
double price = 99.99;
int intPrice = ?; // Explizite Typumwandlung von double zu int
// Die Werte ausgeben
std::cout << "Price: " << price << std::endl;
std::cout << "Int Price: " << intPrice << std::endl;
return 0;
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Grundlagen
4Operatoren Teil 1
Arithmetische OperatorenModulo-OperatorInkrement/DekrementPost-Inkrement/DekrementArithmetische AbkürzungenVergleichsoperatorenString-Vergleich7Eingabe/Ausgabe Grundlagen
cout-Anweisungcin-AnweisungString-EingabeWiederholung - Bis 120Wiederholung - Wahr oder Falsch3Variablen Teil 2
TypdeklarationNamenskonventionenWiederholung – Variablen initialisierenType Casting Teil 1Type Casting Teil 26Entscheidungsfindung
If-AnweisungIf - ElseSwitch-AnweisungBedingter OperatorWiederholung - If ElseVerschachtelte If - ElseÜbe selbstständig: Online-C++-Compiler