Conversione di tipo Parte 1
Fa parte della sezione Fondamenti del percorso C++ di Coddy. Lezione 14 di 74.
Il casting dei tipi è il processo di conversione di un valore da un tipo di dato a un altro.
In C++, possiamo convertire gli interi in numeri double, i numeri double in interi e altro ancora. Esistono due tipi di conversione di tipo: implicita (automatica) ed esplicita (manuale).
Per esempio Integer to Double:
Conversione implicita (automatica):
int number = 5;
double decimal = number; // diventa automaticamente 5.0
// con un calcolo
int x = 7;
double result = x / 2.0; // result è 3.5Nota: Quando dividi due valori int, C++ esegue la divisione intera: la parte decimale viene scartata. Ad esempio, 7 / 2 dà 3, non 3.5. Per ottenere un risultato decimale, almeno un operando deve essere un double (ad es., 7 / 2.0 dà 3.5).
Conversione esplicita (manuale) Double to Integer:
double decimal = 9.7;
int number = (int) decimal; // diventa 9 (la parte decimale viene troncata)
// con un calcolo
double price = 19.99;
int roundedPrice = (int) price; // diventa 19Stile preferito in C++ moderno: Invece del cast in stile C (int) decimal, è buona pratica usare static_cast<>(), che è più sicuro ed esplicita meglio la tua intenzione:
double decimal = 9.7;
int number = static_cast<int>(decimal); // diventa 9 (la parte decimale viene troncata)
double price = 19.99;
int roundedPrice = static_cast<int>(price); // diventa 19Nota: Sia (int) value sia static_cast<int>(value) producono lo stesso risultato in questo caso, ma static_cast<>() è l’approccio consigliato nel C++ moderno, perché rende la conversione chiaramente visibile ed è controllato dal compilatore.
Sfida
PrincipianteScrivi un programma C++ che dimostri il casting dei tipi. Esegui le seguenti operazioni:
Converti la variabile price in un int e memorizza il risultato in una nuova variabile chiamata intPrice.
Provalo tu
#include <iostream>
int main() {
// Declara e inicializa las variables
double price = 99.99;
int intPrice = ?; // Conversión explícita de double a int
// Muestra los valores
std::cout << "Price: " << price << std::endl;
std::cout << "Int Price: " << intPrice << std::endl;
return 0;
}Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
Tutte le lezioni di Fondamenti
4Operatori Parte 1
Operatori aritmeticiOperatore moduloIncremento/DecrementoPost-incremento/Post-decrementoAbbreviazioni aritmeticheOperatori di confrontoConfronto tra stringhe7Fondamenti di input/output
Istruzione coutIstruzione cinInserimento di stringheRipasso - Fino a 120Ripasso - Vero o falso3Variabili Parte 2
Dichiarazione del tipoConvenzioni di denominazioneRiepilogo - Inizializzare le variabiliConversione di tipo Parte 1Conversione di tipo Parte 26Decisioni
Istruzione ifIf-elseIstruzione switchOperatore condizionaleRiepilogo - If-elseIf-else annidatiEsercitati da solo: Compilatore C++ online