Maison  >  Article  >  développement back-end  >  Programme C++ pour convertir une variable int en double

Programme C++ pour convertir une variable int en double

WBOY
WBOYavant
2023-08-29 13:17:171706parcourir

Programme C++ pour convertir une variable int en double

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.

Conversion implicite

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.

Algorithme

  • Prenez une valeur entière en entrée.
  • Attribuez la valeur à une variable double.
  • Afficher la sortie.

Grammaire

int input = <integer value>;
double output = input;

Exemple

#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;
}

Sortie

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.

Conversion explicite

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.

Algorithme

  • Prendre une valeur entière en entrée ;
  • Utilisez la conversion explicite en booléen pour attribuer la valeur à une variable double.
  • Afficher la sortie.

Mentionner le type de données lors de l'affectation

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 de

Version style C

est :

Version style C

Nous avons mentionné le type de données du résultat avant la variable source ou la valeur contenue entre parenthèses.

Grammaire

int input = <integer value>;
double output = (double) input;

Exemple

#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;
}

Sortie

The input value is: 35
The output value is: 35

Conversion de type de style fonctionnel

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.

Grammaire

int input = <integer value>;
double output = double(input);

Exemple

#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;
}

Sortie

The input value is: 45
The output value is: 45

Utilisez static_cast

Grammaire

int input = <integer value>;
double output = static_cast<double>(input);

Exemple

#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;
}

Sortie

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.

Conclusion

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer