Menu
CoddyTech

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 nombres entiers en nombres à virgule flottante, des nombres à virgule flottante en nombres 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; // result vaut 3.5

Remarque : Lorsque vous divisez deux valeurs de type 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 de type double (par exemple, 7 / 2.0 donne 3.5).

Conversion explicite (manuelle) de 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 19

Style privilégié en C++ moderne : 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 clairement 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 19

Remarque : (int) value et static_cast<int>(value) produisent 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 permet au compilateur de la vérifier.

challenge icon

Défi

Débutant

Écris un programme C++ qui montre la conversion de type. Effectue les opérations suivantes :

Convertis la variable price en int et stocke le résultat dans une nouvelle variable nommée intPrice.

Essayez vous-même

    int intPrice = ?; // Conversion explicite de double en int
    
    
quiz iconTestez-vous

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

Entraînez-vous par vous-même : Compilateur C++ en ligne