capypad
0 Tage Serie
cpp / beginner
Snippet

Typumwandlung: Konvertieren Zwischen Datentypen

Typumwandlung konvertiert einen Wert von einem Datentyp zu einem anderen. C++ bietet static_cast für Compile-Zeit-Typkonvertierungen zwischen verwandten Typen wie Zahlen und Zeichen. Bei der Umwandlung eines double zu einem int wird der Dezimalteil abgeschnitten (nicht gerundet). Bei der Umwandlung eines int zu einem double bleibt der Wert gleich bekommt aber einen Dezimalpunkt. Die Umwandlung eines char zu einem int revealet seinen ASCII-numerischen Wert, wobei 'A' gleich 65 ist.

snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
int main() {
int wholeNumber = 42;
double pi = 3.14159;
double fromInt = static_cast<double>(wholeNumber);
int fromDouble = static_cast<int>(pi);
std::cout << "Integer as double: " << fromInt << std::endl;
std::cout << "Double as integer: " << fromDouble << std::endl;
char letter = 'A';
int asInt = static_cast<int>(letter);
std::cout << "Char 'A' as integer: " << asInt << std::endl;
return 0;
}
Erklärung
1
int wholeNumber = 42;
Integer-Variable mit Wert 42
2
double pi = 3.14159;
Double-Variable mit Dezimalwert
3
double fromInt = static_cast<double>(wholeNumber);
Konvertiert int zu double, Ergebnis ist 42.0
4
int fromDouble = static_cast<int>(pi);
Konvertiert double zu int, schneidet zu 3 ab
5
std::cout << "Integer as double: " << fromInt << std::endl;
Gibt konvertierten Double-Wert aus
6
std::cout << "Double as integer: " << fromDouble << std::endl;
Gibt abgeschnittenen Integer-Wert aus
7
char letter = 'A';
Zeichenvariable die Buchstabe A enthält
8
int asInt = static_cast<int>(letter);
Konvertiert char zu seinem ASCII-numerischen Wert
9
std::cout << "Char 'A' as integer: " << asInt << std::endl;
Gibt ASCII-Wert 65 aus