Androide

Cómo convertir cadenas en enteros en python

Python - Ejercicio 48: Convertir una Cadena de Caracteres a Entero y Real

Python - Ejercicio 48: Convertir una Cadena de Caracteres a Entero y Real

Tabla de contenido:

Anonim

Todos los tipos de datos en Python, incluidos los enteros y las cadenas, son objetos. A menudo, al escribir código Python, necesitará convertir un tipo de datos a 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 a un número entero.

Función Python int()

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

int(x, base=10)

La función `acepta dos argumentos:

  • x - Cadena o número que se convertirá en un entero. base : representa el sistema de numeración del primer argumento. Su valor puede ser 0 y 2–36. Si no se proporciona una base, el valor predeterminado es 10 (entero decimal).

Por lo general, los enteros se expresan en notación hexadecimal (base 16), decimal (base 10), octal (base 8) o binaria (base 2).

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

Convertir una cadena de Python en entero

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

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

days = "23" type(days)

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

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

print(days+5)

Python arrojará un error de excepción TypeError porque no podemos realizar un cálculo de suma con string e integer:

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

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

days = "23" days_int = int(days) type(days_int)

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" int(total.replace(", ", ""))

1000000

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

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

int("D5CF", 16)

54735

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

int("D5CF")

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

Conclusión

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

pitón