Cómo Convertir String a Int en Python
La forma más rápida de convertir string a int en Python es la función
int():
numero = int("42")
¿Cuándo necesitas esto?
Cuando lees datos de archivos o formularios, casi siempre recibes texto. Convertir tipos es una habilidad fundamental en Python: te permite sumar números, comparar valores o hacer cálculos. En esta guía aprenderás cómo convertir string a int en Python con int(), cómo manejar decimales y errores, y cómo convertir listas completas.
Método 1: Convertir string a int con int() (recomendado)
La función integrada int() es la forma más simple de convertir string a int en Python.
numero = int("42")
print(numero) # 42
print(numero + 8) # 50
Si el string contiene espacios al principio o al final, int() los ignora.
print(int(" 42 ")) # 42
Método 2: Convertir desde otra base
Puedes convertir strings en formato binario, octal o hexadecimal pasando la base como segundo argumento.
print(int("1010", 2)) # 10 (binario)
print(int("1A", 16)) # 26 (hexadecimal)
print(int("17", 8)) # 15 (octal)
Método 3: Convertir con float()
Si el string tiene decimales, usa float() y luego redondea el resultado con int().
print(float("3.14")) # 3.14
print(int(3.99)) # 3
Método 4: Convertir una lista de strings
Con una comprensión puedes convertir una lista completa de strings en una sola línea.
valores = ["10", "20", "30"]
numeros = [int(v) for v in valores]
print(numeros)
# [10, 20, 30]
Comparativa de métodos
| Método | Ventaja | Cuándo usarlo |
|---|---|---|
int() |
Directo y simple | Recomendado siempre |
int(x, base) |
Convierte otras bases | Binario, hex o octal |
float() |
Conserva decimales | Cuando necesitas decimales |
| Comprensión de lista | Convierte todo | Listas completas en una línea |
Errores comunes y solución
ValueError: el string no es un número
Si el string no es un número válido, Python lanza un ValueError. Usa try y except para manejarlo.
try:
numero = int("hola")
except ValueError:
print("No es un número válido")
Intentar convertir un string vacío
int("") lanza un ValueError. Comprueba el valor antes de convertirlo.
Convertir un string con decimales
int("3.14") lanza un ValueError. Usa float() primero y luego int() si necesitas un entero.
Preguntas frecuentes
¿Qué pasa si convierto un string vacío?
int("") lanza un ValueError. Debes comprobar el valor antes de convertirlo.
¿Puedo convertir un string con decimales?
No directamente. Usa float() primero y luego int() si necesitas un entero.
¿int() funciona con números negativos?
Sí. int("-10") devuelve -10.
Contenido relacionado
- Cómo Leer un Archivo en Python
- Cómo Ordenar un Diccionario en Python
- Tutoriales How-To en Python
- Curso de Python desde Cero
Palabras clave relacionadas
cómo convertir string a int en python, convertir string a int python, string to int python, int python, float python, conversión de tipos python, python ValueError
Guarda este tutorial y compártelo si te fue útil. Encuentra más guías prácticas en la sección how-to de Python.