Conversioni numeriche esplicite
Converti deliberatamente tra tipi numerici per evitare errori.
Conversioni numeriche esplicite è una lezione Swift Academy gratuita su CoddyKit. Questa è la lezione 3 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 Swift Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Swift Academy include 4 lezioni in totale.
Swift richiede conversioni esplicite
Swift non converte automaticamente i tipi numerici. Per combinare un Int e un Double, è necessario convertire esplicitamente uno dei due.
let count = 3
let price = 2.5
let total = Double(count) * price
print(total)Perché non esiste la conversione implicita
Le conversioni implicite possono causare silenziosamente la perdita di dati o modificare il significato. Swift richiede di dichiarare l'intenzione, prevenendo bug difficili da individuare.
let whole = 7
let fraction = 0.5
let result = Double(whole) + fraction
print(result)Convertire Int in Double
Racchiuda un intero in Double(...) per ottenere la relativa forma a virgola mobile. Questa operazione è necessaria prima di eseguire una divisione reale.
let a = 7
let b = 2
let ratio = Double(a) / Double(b)
print(ratio)Convertire Double in Int
Applicare Int(...) a un Double tronca il valore verso zero, eliminando la parte frazionaria senza arrotondarla.
let value = 3.99
print(Int(value))
print(Int(-3.99))Arrotondare prima della conversione
Se desidera arrotondare anziché troncare, chiami prima .rounded() e poi converta il risultato in Int.
let value = 3.6
let rounded = Int(value.rounded())
print(rounded)Convertire tra tipi interi
Anche la conversione tra interi richiede un'operazione esplicita, come Int(small) o Int8(big), perché gli intervalli dei valori sono diversi.
let small: Int8 = 100
let big: Int = Int(small)
print(big + 1000)Conversione con overflow
La conversione di un valore che non rientra nel tipo di destinazione causa un trap a runtime. Se non è sicuro, verifichi prima l'intervallo.
let n = 200
if n <= Int(Int8.max) {
print("fits")
} else {
print("would overflow Int8")
}Inizializzatori numerici fallibili
Alcune conversioni usano inizializzatori fallibili come Int8(exactly:), che restituiscono un optional e producono nil quando il valore non rientra esattamente nell'intervallo.
let ok = Int8(exactly: 100)
let bad = Int8(exactly: 300)
print(ok as Any)
print(bad as Any)Conversione da String a numero
Anche la conversione di una String in un numero è esplicita e fallibile: restituisce un optional nel caso in cui il testo non rappresenti un numero valido.
let text = "42"
if let n = Int(text) {
print("Parsed:", n)
}
print(Int("hello") as Any)Combinare operazioni numeriche con tipi misti
Un modello comune consiste nel convertire tutti gli operandi in un tipo comune, eseguire il calcolo e poi riconvertire il risultato finale, se necessario.
let items = 5
let pricePerItem = 1.99
let total = Double(items) * pricePerItem
let rounded = (total * 100).rounded() / 100
print("Total:", rounded)La conversione mantiene il codice sicuro
Le conversioni esplicite documentano i punti in cui cambia la precisione, rendendo il codice numerico più facile da verificare e comprendere.
let measured = 9.81
let asInt = Int(measured)
let backToDouble = Double(asInt)
print(measured, asInt, backToDouble)Controllo rapido
Preveda il risultato della conversione di un Double in Int.
Riepilogo: conversioni numeriche esplicite
Ha imparato che Swift non converte mai implicitamente i tipi numerici, che Int(...) tronca i Double mentre Double(...) estende gli Int e che gli inizializzatori fallibili come Int8(exactly:) e Int("text") restituiscono optional quando una conversione non può riuscire.
let pieces = 7
let share = Double(pieces) / 2.0
print("Share:", share)
print("Truncated:", Int(share))Domande Frequenti
La lezione «Conversioni numeriche esplicite» è gratuita?
Sì — il testo completo di «Conversioni numeriche esplicite» è 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 Swift Academy, passa a CoddyKit PRO. Il corso Swift Academy include 4 lezioni in totale.
Cosa imparerò in «Conversioni numeriche esplicite»?
Converti deliberatamente tra tipi numerici per evitare errori. Eserciti Swift 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 Swift Academy?
Non è richiesta alcuna esperienza precedente. Swift 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 3 di 4.
Quanto tempo richiede la lezione «Conversioni numeriche esplicite»?
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 Swift Academy?
Sì. Ogni lezione Swift 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 interi e relativi intervalli
- Virgola mobile: Double e Float a confronto
- Conversioni numeriche esplicite
- Letterali numerici e underscore