Menu
CoddyTech

Conversione di tipo Parte 1

Fa parte della sezione Fondamenti del percorso C++ di Coddy. Lezione 14 di 74.

La conversione di tipo è il processo che consiste nel convertire 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: 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.5

Nota: Quando dividi due valori int, C++ esegue la divisione intera: la parte decimale viene eliminata. Per esempio, 7 / 2 dà 3, non 3.5. Per ottenere un risultato decimale, almeno uno degli operandi 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 calcolo
double price = 19.99;
int roundedPrice = (int) price;  // diventa 19

Stile preferito nel C++ moderno: invece della conversione di tipo in stile C (int) decimal, è buona pratica usare static_cast<>(), che è più sicura e rende più esplicita 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 19

Nota: 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 e viene verificata dal compilatore.

challenge icon

Sfida

Principiante

Scrivi un programma C++ che dimostri la conversione di tipo. Esegui quanto segue:

Converti la variabile price in un int e memorizza il risultato in una nuova variabile chiamata intPrice.

Provalo tu

    int intPrice = ?; // Conversione esplicita da double a int
    
    
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore C++ online