Convertire tra numeri
Cast e metodi Convert.
Convertire tra numeri è una lezione C# Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C# Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C# Academy include 4 lezioni in totale.
Perché convertire?
Tipi numerici diversi non possono sempre essere combinati liberamente. A volte è necessario convertire un valore da un tipo a un altro.
C# offre conversioni implicite, cast espliciti, la classe Convert e il parsing da testo. Questa lezione li tratta tutti.
Conversione implicita
Quando il tipo di destinazione può contenere ogni possibile valore del tipo di origine, C# esegue la conversione implicitamente, senza sintassi aggiuntiva.
Un int può essere contenuto in un double, quindi questa assegnazione è automatica e sicura.
int whole = 7;
double real = whole;
Console.WriteLine(real);Cast esplicito
La conversione nella direzione opposta può causare una perdita di dati, quindi C# richiede un cast esplicito con il tipo di destinazione tra parentesi.
Il cast di un double a int tronca la parte frazionaria verso lo zero.
double price = 9.99;
int dollars = (int)price;
Console.WriteLine(dollars);Il cast può causare overflow
Eseguire il cast di un valore che non rientra nel tipo di destinazione può produrre un risultato errato a causa dell'overflow.
Il cast di un long grande a int provoca un ritorno ciclico dei valori, quindi verifichi sempre che il valore rientri nell'intervallo consentito.
long big = 3000000000;
int small = (int)big;
Console.WriteLine(small);La classe Convert
La classe System.Convert converte tra i tipi usando metodi come Convert.ToInt32 e Convert.ToDouble.
A differenza del cast, Convert.ToInt32 arrotonda un double all'intero più vicino invece di troncare.
double value = 9.99;
int rounded = Convert.ToInt32(value);
Console.WriteLine(rounded);Parsing dei numeri dal testo
L'input dell'utente e i file arrivano come string. Usi int.Parse o double.Parse per trasformare il testo in numeri.
Il testo deve rappresentare un numero valido, altrimenti il parsing genera un'eccezione.
string text = "42";
int number = int.Parse(text);
Console.WriteLine(number + 8);Parsing sicuro con TryParse
int.TryParse tenta una conversione e restituisce true o false invece di generare un'eccezione. Il valore analizzato viene restituito tramite un parametro out.
È il modo sicuro per gestire input non attendibili.
bool ok = int.TryParse("abc", out int result);
Console.WriteLine(ok);
Console.WriteLine(result);Numeri in stringhe
Ogni tipo numerico dispone di un metodo ToString per produrre testo. Può passare una stringa di formato per controllarne l'aspetto.
"C"valuta"F2"formato fisso con 2 cifre decimali"N0"migliaia con separatori
double amount = 1234.5;
Console.WriteLine(amount.ToString("F2"));
Console.WriteLine(amount.ToString("N0"));int in double per la divisione
Un motivo frequente per convertire è evitare la divisione intera. Esegua il cast di un operando a double prima della divisione per mantenere le cifre decimali.
Senza il cast otterrebbe un risultato intero troncato.
int scored = 7, total = 10;
double percent = (double)scored / total * 100;
Console.WriteLine(percent);Cast, Convert e Parse a confronto
Scelga lo strumento giusto:
- Cast tra tipi numerici (tronca)
- Convert tra molti tipi (arrotonda e gestisce i valori null)
- Parse / TryParse trasforma il testo in numeri
Preferisca TryParse per qualsiasi input che non controlla.
Un esempio di conversione
Questo programma completo legge un numero dal testo, lo converte, esegue calcoli con esso e formatta l'output come valuta.
string input = "19.95";
if (decimal.TryParse(input, out decimal price))
{
decimal withTax = price * 1.20m;
Console.WriteLine(withTax.ToString("F2"));
}Verifica rapida
Scelga il modo più sicuro per convertire in numero il testo digitato dall'utente.
Riepilogo
Ha imparato a convertire i numeri: conversioni implicite quando sono sicure, cast espliciti (che troncano e possono causare overflow), la classe Convert (che arrotonda) e il parsing del testo con Parse e il più sicuro TryParse.
Ha inoltre imparato a riconvertire i numeri in stringhe usando i codici di formato di ToString. Esegua il cast di un operando a double per evitare la divisione intera.
Domande Frequenti
La lezione «Convertire tra numeri» è gratuita?
Sì — il testo completo di «Convertire tra numeri» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C# Academy, passa a CoddyKit PRO. Il corso C# Academy include 4 lezioni in totale.
Cosa imparerò in «Convertire tra numeri»?
Cast e metodi Convert. Eserciti C# Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare C# Academy?
Non è richiesta alcuna esperienza precedente. C# Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Convertire tra numeri»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione C# Academy?
Sì. Ogni lezione C# Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Tipi numerici
- Aritmetica e precedenza
- La classe Math
- Convertire tra numeri