En C++, les variables de type Int sont utilisées pour stocker des valeurs entières positives ou négatives, mais ce type ne peut pas contenir de valeurs décimales. Pour cela, il existe des valeurs float et double. Le type de données Double est spécifiquement conçu pour conserver les valeurs décimales jusqu'à sept décimales. Les conversions entre variables entières et doubles peuvent être gérées automatiquement par le compilateur, appelées conversions « implicites », ou elles peuvent être explicitement déclenchées vers le compilateur par le programmeur. Nous aborderons différentes méthodes de conversion dans les chapitres suivants.
La conversion de type implicite est effectuée automatiquement par le compilateur. Pour y parvenir, nous avons besoin de deux variables : l’une de type entier et l’autre de type virgule flottante. Ensuite, nous attribuons simplement la valeur entière ou la variable à la variable à virgule flottante et tout le reste sera pris en charge par le compilateur.
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
Comme nous pouvons le voir, le processus de conversion est très simple. Nous n'avons rien de spécial à faire, il suffit d'attribuer la variable d'entrée à la variable de sortie.
La conversion explicite se produit lorsque le programmeur demande explicitement au compilateur de convertir un type de données en un autre. Cela peut être réalisé de deux manières, l'une consiste à spécifier le type de données lors de l'affectation, l'autre consiste à utiliser static_cast. Nous décrivons d'abord la première méthode.
Cela peut également être fait de deux manières différentes. L’une est une version de style C et l’autre est une conversion de style fonctionnel.
La traduction chinoise deNous avons mentionné le type de données du résultat avant la variable source ou la valeur contenue entre parenthèses.
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
Nous avons mentionné le type de données du résultat et lors de la transmission des paramètres à la fonction, placez la valeur source entre parenthèses.
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
D'après les trois derniers exemples, nous pouvons voir que le processus de conversion explicite est presque similaire, qu'il s'agisse d'une conversion static_cast, d'une conversion de style C ou d'une conversion de style fonctionnel. Dans les trois cas, nous devons mentionner le type de données du résultat avant l'affectation.
Couvre plusieurs méthodes de conversion d'entiers en valeurs doubles. Les programmeurs doivent déterminer quelle méthode de conversion est la meilleure pour une situation spécifique, car différents scénarios de conversion nécessitent différentes méthodes de conversion. Cependant, comme les conversions implicites se produisent automatiquement, les programmeurs n'ont pas à se soucier de l'application de stratégies complexes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!