Conversiones numéricas explícitas
Convierta deliberadamente entre tipos numéricos para evitar errores.
Conversiones numéricas explícitas es una lección gratuita de Swift Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Swift Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Swift Academy incluye 4 lecciones en total.
Swift requiere conversiones explícitas
Swift no convierte automáticamente entre tipos numéricos. Para combinar un Int y un Double, debe convertir uno de ellos explícitamente.
let count = 3
let price = 2.5
let total = Double(count) * price
print(total)Por qué no hay conversión implícita
Las conversiones implícitas pueden perder datos silenciosamente o cambiar el significado. Swift le obliga a expresar su intención, lo que evita errores sutiles.
let whole = 7
let fraction = 0.5
let result = Double(whole) + fraction
print(result)Convertir Int a Double
Envuelva un entero en Double(...) para obtener su representación de coma flotante. Esto es necesario antes de realizar una división real.
let a = 7
let b = 2
let ratio = Double(a) / Double(b)
print(ratio)Convertir Double a Int
Aplicar Int(...) a un Double trunca hacia cero y descarta la parte fraccionaria; no redondea.
let value = 3.99
print(Int(value))
print(Int(-3.99))Redondear antes de convertir
Si quiere redondear en lugar de truncar, llame primero a .rounded() y después convierta el resultado a Int.
let value = 3.6
let rounded = Int(value.rounded())
print(rounded)Convertir entre tipos enteros
Incluso las conversiones entre enteros requieren una conversión explícita, como Int(small) o Int8(big), porque sus rangos son diferentes.
let small: Int8 = 100
let big: Int = Int(small)
print(big + 1000)Conversión que produce desbordamiento
Convertir un valor que no cabe en el tipo de destino provoca un error en tiempo de ejecución. Si no está seguro, valide primero el rango.
let n = 200
if n <= Int(Int8.max) {
print("fits")
} else {
print("would overflow Int8")
}Inicializadores numéricos que pueden fallar
Algunas conversiones usan inicializadores que pueden fallar, como Int8(exactly:), que devuelven un opcional y retornan nil cuando el valor no cabe exactamente.
let ok = Int8(exactly: 100)
let bad = Int8(exactly: 300)
print(ok as Any)
print(bad as Any)Convertir una cadena en un número
Convertir un String en un número también es una operación explícita que puede fallar: devuelve un opcional por si el texto no representa un número válido.
let text = "42"
if let n = Int(text) {
print("Parsed:", n)
}
print(Int("hello") as Any)Combinar operaciones matemáticas con tipos numéricos mixtos
Un patrón habitual consiste en convertir todos los operandos a un tipo común, realizar las operaciones y volver a convertir el resultado final si es necesario.
let items = 5
let pricePerItem = 1.99
let total = Double(items) * pricePerItem
let rounded = (total * 100).rounded() / 100
print("Total:", rounded)Las conversiones hacen que el código sea seguro
Las conversiones explícitas documentan dónde se producen cambios de precisión, lo que facilita auditar el código numérico y razonar sobre él.
let measured = 9.81
let asInt = Int(measured)
let backToDouble = Double(asInt)
print(measured, asInt, backToDouble)Comprobación rápida
Prediga el resultado de convertir un Double a Int.
Resumen: conversiones numéricas explícitas
Ha aprendido que Swift nunca convierte tipos numéricos implícitamente, que Int(...) trunca los valores Double mientras que Double(...) amplía los valores Int, y que los inicializadores que pueden fallar, como Int8(exactly:) y Int("text"), devuelven opcionales cuando una conversión no puede realizarse.
let pieces = 7
let share = Double(pieces) / 2.0
print("Share:", share)
print("Truncated:", Int(share))Preguntas frecuentes
¿La lección «Conversiones numéricas explícitas» es gratis?
Sí — el texto completo de «Conversiones numéricas explícitas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Swift Academy, actualiza a CoddyKit PRO. El curso de Swift Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Conversiones numéricas explícitas»?
Convierta deliberadamente entre tipos numéricos para evitar errores. Practicas Swift Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Swift Academy?
No se requiere experiencia previa. Swift Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Conversiones numéricas explícitas»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Swift Academy?
Sí. Cada lección de Swift Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Tipos enteros y sus rangos
- Punto flotante: Double frente a Float
- Conversiones numéricas explícitas
- Literales numéricos y guiones bajos