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

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.