Type Casting Partie 2
Fait partie de la section Fundamentals du Journey C de Coddy — leçon 14 sur 63.
Dans la partie 1, nous avons examiné le transtypage implicite. Maintenant, explorons le transtypage explicite en C.
Le transtypage explicite (conversion manuelle) se produit lorsque vous convertissez de force un type de données en un autre en utilisant l'opérateur de transtypage.
La syntaxe pour le transtypage explicite est :
(target_type) expressionConvertissons un float en un entier :
float price = 45.95;
int rounded_price = (int) price;Après l'exécution du code ci-dessus, rounded_price sera :
45
Notez que la partie décimale est tronquée (et non arrondie).
Nous pouvons également convertir des caractères en entiers pour obtenir leurs valeurs ASCII :
char letter = 'A';
int ascii_value = (int) letter;Après l'exécution du code ci-dessus, ascii_value sera :
65
N'oubliez pas que le transtypage peut entraîner une perte de données, particulièrement lors de la conversion d'un type de données plus grand vers un plus petit.
Défi
FacileÉcrivez un programme qui :
- Déclare une variable de type double nommée
temperatureet lui assigne la valeur 98.6. - Utilise le transtypage explicite pour convertir
temperatureen un entier et le stocke dans une variable nomméewhole_part. - Affiche la température d'origine et la partie entière sur des lignes distinctes.
Exemple de sortie :
Original temperature: 98.6
Whole part: 98
Aide-mémoire
Le transtypage explicite (ou conversion de type) en C vous permet de convertir manuellement un type de données en un autre à l'aide de l'opérateur de cast.
Syntaxe :
(target_type) expressionConversion d'un flottant en entier (tronque la partie décimale) :
float price = 45.95;
int rounded_price = (int) price; // Résultat : 45Conversion d'un caractère en entier (obtient la valeur ASCII) :
char letter = 'A';
int ascii_value = (int) letter; // Résultat : 65Remarque : Le transtypage peut entraîner une perte de données lors de la conversion de types de données plus grands vers des types plus petits.
Essayez vous-même
#include <stdio.h>
int main() {
// Écrivez votre code ici
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 Fundamentals
2Variables
Types de donnéesEntiersFloat - DoubleCaractèresBooléensConstantesLes bases de printfRègles de nommage des variablesType Casting Partie 1Type Casting Partie 2Défi récapitulatif3Opérateurs
Opérateurs arithmétiquesOpérateur moduloIncrémentation/DécrémentationOpérateurs d'affectationOpérateurs relationnelsOpérateurs logiques - Partie 1Opérateurs logiques - Partie 2Opérateurs logiques - Partie 3Défi récapitulatif