In C++ werden Variablen vom Typ Int zum Speichern positiver oder negativer Ganzzahlwerte verwendet, dieser Typ kann jedoch keine Dezimalwerte enthalten. Hierfür gibt es Float- und Double-Werte. Der Double-Datentyp ist speziell darauf ausgelegt, Dezimalwerte bis auf sieben Dezimalstellen beizubehalten. Konvertierungen zwischen Integer- und Double-Variablen können vom Compiler automatisch durchgeführt werden, sogenannte „implizite“ Konvertierungen, oder sie können vom Programmierer explizit an den Compiler ausgelöst werden. In den folgenden Kapiteln werden wir verschiedene Konvertierungsmethoden besprechen.
Die implizite Typkonvertierung erfolgt automatisch durch den Compiler. Um dies zu erreichen, benötigen wir zwei Variablen; eine vom Typ Ganzzahl und die andere vom Typ Gleitkomma. Dann weisen wir der Gleitkommavariablen einfach den ganzzahligen Wert oder die Variable zu und der Compiler kümmert sich um alles andere.
int input = <integer value>; double output = input;
#include <iostream> using namespace std; double solve(int value) { double opVal = value; return opVal; } int main() { int ip = 25; double op = solve(ip); cout<< "The input value is: " << ip << endl; cout<< "The output value is: " << op << endl; return 0; }
The input value is: 25 The output value is: 25
Wie wir sehen, ist der Konvertierungsprozess sehr einfach. Wir müssen nichts Besonderes tun, weisen Sie einfach die Eingabevariable der Ausgabevariablen zu.
Eine explizite Konvertierung erfolgt, wenn der Programmierer den Compiler explizit anweist, einen Datentyp in einen anderen zu konvertieren. Dies kann auf zwei Arten erreicht werden: Zum einen wird der Datentyp während der Zuweisung angegeben, zum anderen wird static_cast verwendet. Wir beschreiben zunächst die erste Methode.
Dies kann auch auf zwei verschiedene Arten erfolgen. Eine davon ist eine Version im C-Stil und die andere ist eine Konvertierung im funktionalen Stil.
Die chinesische Übersetzung vonWir haben den Ergebnisdatentyp vor der Quellvariablen oder dem in Klammern enthaltenen Wert erwähnt.
int input = <integer value>; double output = (double) input;
#include <iostream> using namespace std; double solve(int value) { double opVal = (double) value; return opVal; } int main() { int ip = 35; double op = solve(ip); cout<< "The input value is: " << ip << endl; cout<< "The output value is: " << op << endl; return 0; }
The input value is: 35 The output value is: 35
Wir haben den Ergebnisdatentyp erwähnt und bei der Übergabe von Parametern an die Funktion den Quellwert in Klammern eingeschlossen.
int input = <integer value>; double output = double(input);
#include <iostream> using namespace std; double solve(int value) { double opVal = double(value); return opVal; } int main() { int ip = 45; double op = solve(ip); cout<< "The input value is: " << ip << endl; cout<< "The output value is: " << op << endl; return 0; }
The input value is: 45 The output value is: 45
int input = <integer value>; double output = static_cast<double>(input);
#include <iostream> using namespace std; double solve(int value) { double opVal = static_cast<double>(value); return opVal; } int main() { int ip = 55; double op = solve(ip); cout<< "The input value is: " << ip << endl; cout<< "The output value is: " << op << endl; return 0; }
The input value is: 55 The output value is: 55
Aus den letzten drei Beispielen können wir ersehen, dass der explizite Konvertierungsprozess nahezu ähnlich ist, unabhängig davon, ob er static_cast, eine Konvertierung im C-Stil oder eine Konvertierung im funktionalen Stil verwendet. In allen drei Fällen müssen wir vor der Zuweisung den Ergebnisdatentyp angeben.
Behandelt verschiedene Methoden zum Konvertieren von Ganzzahlen in Doppelwerte. Programmierer müssen bestimmen, welche Konvertierungsmethode für eine bestimmte Situation am besten geeignet ist, da unterschiedliche Konvertierungsszenarien unterschiedliche Konvertierungsmethoden erfordern. Da implizite Konvertierungen jedoch automatisch erfolgen, müssen sich Programmierer keine Gedanken über die Durchsetzung komplexer Strategien machen.
Das obige ist der detaillierte Inhalt vonC++-Programm zum Konvertieren der int-Variablen in double. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!