Cómo convertir cadenas a enteros en Python

1 mar 2021 2 min di lettura
Cómo convertir cadenas a enteros en Python
Indice dei contenuti

Introducción

Todos los tipos de datos en Python, incluidos los enteros y las cadenas, son objetos. A menudo, al escribir código Python, es necesario convertir un tipo de datos en otro. Por ejemplo, para realizar una operación matemática en un número representado como una cadena, debe convertirse en un número entero.

En este tutorial, le mostraremos cómo convertir una cadena de Python en un número entero.

Función int () en Python

int() devuelve un objeto entero decimal de un número o cadena dados. Toma la siguiente forma:

int(x, base=10)

La función int() toma dos argumentos:

  • x: cadena o número para convertir en un entero.
  • base: representa el sistema numérico del primer argumento. Su valor puede ser 0 y 2–36. Si no se proporciona una base, el valor predeterminado es 10 (entero decimal).

Los enteros generalmente se expresan en hexadecimal (base 16), decimal (base 10), octal (base 8) o binario (base 2).

Si el argumento dado no se puede representar como un número entero, la función ValueError una excepción ValueError.

Convierte una cadena de Python en un entero

En Python, una 'cadena' es una lista de caracteres que se declara usando ' ), dobles ( " ) o triples ( """ ).

Si una variable que contiene solo números se declara entre comillas, su tipo de datos se establece en Cadena. Considere el siguiente ejemplo:

days = "23"
 type(days)

La función type() nos muestra que days es un objeto String.

<type 'str'>

Intentemos hacer una operación matemática sobre la variable:

print(days+5)

Python arrojará un TypeError porque no es posible realizar un cálculo adicional con una cadena y un entero:

Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 TypeError: cannot concatenate 'str' and 'int' objects

Para convertir una representación de cadena de un entero decimal int, pase la cadena a la función int(), que devuelve un entero decimal:

days = "23"
<type 'int'>

Si ahora intenta hacer los cálculos, la operación de suma se realizará correctamente:

print(days_int+5)
28

Si el número incluye comas, marcando miles, millones, etc., debe eliminar las comas antes de pasar el número a la función int():

total = "1,000,000"
1000000

Al convertir cadenas que representan números enteros en diferentes sistemas de numeración, asegúrese de utilizar la base correcta.

Por ejemplo, en el sistema hexadecimal, el número 54732 se representa como D5CF. Para convertirlo en un entero decimal, debe usar la base 16:

int("D5CF", 16)
54735

Si pasa la D5CF a la función int() sin establecer una base, se ValueError una excepción ValueError:

int("D5CF")
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 ValueError: invalid literal for int() with base 10: 'D5CF'

Conclusión

En Python, puede convertir una cadena en un número entero usando la función int().

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.