Type Casting - Partie 1
Fait partie de la section Fondamentaux du Journey C++ de Coddy. Leçon 14 sur 74.
La conversion de type est le processus qui consiste à convertir une valeur d’un type de données à un autre.
En C++, nous pouvons convertir des entiers en nombres à virgule flottante, des nombres à virgule flottante en entiers, et bien plus encore. Il existe deux types de conversions : les conversions implicites (automatiques) et les conversions explicites (manuelles).
Par exemple Integer to Double :
Conversion implicite (automatique) :
int number = 5;
double decimal = number; // devient automatiquement 5.0
// avec calcul
int x = 7;
double result = x / 2.0; // le résultat est 3.5Remarque : Lorsque vous divisez deux valeurs int, C++ effectue une division entière : la partie décimale est supprimée. Par exemple, 7 / 2 donne 3, et non 3.5. Pour obtenir un résultat décimal, au moins un opérande doit être un double (par exemple, 7 / 2.0 donne 3.5).
Conversion explicite (manuelle) Double to Integer :
double decimal = 9.7;
int number = (int) decimal; // devient 9 (la partie décimale est tronquée)
// avec calcul
double price = 19.99;
int roundedPrice = (int) price; // devient 19Style moderne privilégié en C++ : Au lieu de la conversion de type à la manière du C (int) decimal, il est préférable d’utiliser static_cast<>(), qui est plus sûre et exprime plus explicitement votre intention :
double decimal = 9.7;
int number = static_cast<int>(decimal); // devient 9 (la partie décimale est tronquée)
double price = 19.99;
int roundedPrice = static_cast<int>(price); // devient 19Remarque : (int) value et static_cast<int>(value) produisent tous deux le même résultat ici, mais static_cast<>() est l’approche recommandée en C++ moderne, car elle rend la conversion clairement visible et est vérifiée par le compilateur.
Défi
DébutantÉcrivez un programme C++ qui démontre la conversion de type. Effectuez les opérations suivantes :
Convertissez la variable price en int et stockez le résultat dans une nouvelle variable nommée intPrice.
Essayez vous-même
#include <iostream>
int main() {
// Déclarer et initialiser les variables
double price = 99.99;
int intPrice = ?; // Conversion explicite de double en int
// Afficher les valeurs
std::cout << "Price: " << price << std::endl;
std::cout << "Int Price: " << intPrice << std::endl;
return 0;
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloIncrémentation / DécrémentationPost-incrémentation / Post-décrémentationRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Bases des entrées/sorties
Instruction coutInstruction cinSaisie de chaînes de caractèresRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux3Variables - Partie 2
Déclaration de typeConventions de nommageRécapitulatif - Initialisation des variablesType Casting - Partie 1Type Casting - Partie 26Prise de décision
L'instruction IfIf - ElseL'instruction SwitchOpérateur conditionnelRécapitulatif - If ElseIf - Else imbriquésEntraînez-vous par vous-même : Compilateur C++ en ligne