Noticias Raspberry Pi

Convertir cadena a entero en Python

En esta guía, le mostraremos cómo es posible convertir una cadena en un número entero en Python.

Python asigna dinámicamente un tipo a una variable cuando se asigna. Para cambiar el tipo de variable, deberá confiar en las funciones integradas.

La función que nos permite convertir una cadena en un número entero con Python es la función “int()”. La función int convertirá el número usando «base 10» por defecto. La base 10 es en lo que se basa el sistema decimal.

A diferencia de convertir un número entero en una cadena en Python, solo hay una función que le será útil.

En la siguiente sección, le mostraremos cómo es posible usar la función «int()» para convertir una cadena en un int. A continuación, le mostraremos diferentes casos, incluido el manejo de números octales, hexadecimales y binarios.

Indice

Usando int () para convertir cadenas en enteros en Python

La forma principal de convertir una cadena en un número entero en Python es usar una función integrada.

La función que estamos usando para este tutorial se llama «int()». Convertirá cualquier cadena en entero, de forma predeterminada usando la base 10.

A continuación puede ver la sintaxis de la función «int()». Le mostraremos cómo usar esta función en las próximas secciones.

El primer parámetro (CADENA) es obligatorio y es donde hará referencia a su cadena, ya sea directamente o haciendo referencia a una variable.

El segundo parámetro (BASE) es opcional y es donde establecerá la base. Deberá ajustar la base si se trata de un número no decimal (base 10).

Convierta una cadena en un entero en Python usando el sistema decimal

Para este ejemplo, le mostraremos la forma más fácil de convertir una cadena en un número entero usando Python.

Con un número decimal, no tiene que preocuparse por cambiar la base para usar la siguiente sintaxis.

Cuando no especifica la base, la función int() asumirá que la cadena que está convirtiendo usa la base 10 (decimal).

A continuación, escribiremos un script de Python rápido que demuestre esta funcionalidad.

Ejemplo de conversión de una cadena a un número entero usando el sistema decimal

Comience creando una cadena envolviendo el número 145 entre comillas dobles («»). Luego le asignaremos este valor a nuestra variable llamada «x».

Al usar tanto «print()» como «type()», podemos verificar que se trata de una cadena antes de continuar.

Finalmente, podemos usar la función «int()» de Python para convertir nuestra variable «x» de una cadena a un número entero. Finalmente, almacenamos el resultado de la función «int()» en nuestra variable «y».

Verificamos que nuestra variable «y» ahora sea un número entero imprimiendo su tipo.

Usando este código, verás como la función «int()» nos proporciona fácilmente un número entero.

Uso de Python para convertir una cadena en un número entero mediante el sistema hexadecimal

Esta sección le mostrará cómo puede convertir una cadena que contiene un número hexadecimal en un número entero.

Hay dos formas de lograr esto usando la función int. Ambos esperan que se le pasen diferentes tipos de cadenas.

Método uno: usar la base 16 para convertir hexágono a entero

El primer método establece el valor base de la función int() en 16 (hexadecimal). Recuerde que el segundo parámetro de la función le permite establecer el número base.

Este método es mejor cuando espera que su cadena siempre contenga un número hexadecimal. Acepta un hexadecimal usando el formato «0x2fcfb47b» o «2fcfb47b».

A continuación puede ver la sintaxis para usar la función «int()» con una base de 16.

Ejemplo de conversión de un hexágono a un número entero usando la base 16

Para este ejemplo, permítanos mostrarle cómo funciona la definición de una base 16 para la función int de Python.

Crearemos dos variables, una llamada «x» con la cadena hexadecimal «0x2fcfb47b» y «y» con «2fcfb47b».

En cada una de nuestras cadenas, usamos la función «int()» de Python para convertirlas de una cadena a un int.

Al establecer la base en 16, la función «int» podrá convertir nuestro número hexadecimal en un número que podamos almacenar como nuestro entero.

Usamos la función «imprimir ()» de Python para que podamos ver los valores convertidos después de que la función int convierte nuestras cadenas en enteros.

Al establecer la base en 16, puede ver cómo la función int manejó felizmente nuestras dos cadenas. Incluso con la cadena hexadecimal que falta la identificación «0x».

Segundo método: usar la base 0 para convertir una cadena hexadecimal en un número entero

Alternativamente, si sus cadenas hexadecimales siempre tienen el prefijo «0x», puede establecer la base en 0.

Con la base establecida en 0, la función «int()» intentará determinar la base correcta para el número en sí.

Sin el «0x» delante de su número, la función int no puede determinar que es un número hexadecimal.

A continuación puede ver cómo escribiría la función «int()» al establecer la base en 0.

Este método es útil cuando sabe cómo se formatearán los números y es posible que necesite manejar cadenas que contengan otros tipos de números.

Ejemplo de conversión de un hexágono a un número entero usando la base 0

Para este ejemplo, usaremos los mismos datos que usamos para el primer método. Esto mostrará cómo usar la base 0 con la función «int()» convertirá automáticamente una cadena hexadecimal cuando tenga el prefijo «0x».

Comience con la variable «x» y asígnele el valor «0x2fcfb47b». Luego crea la variable «y» y dale el valor «2fcfb47b».

Luego usamos la función «int()» en estas dos variables para transformar las cadenas en números enteros. Esta vez usamos base 0.

Al ejecutar este código, puede ver que nuestra cadena con el prefijo «0x» se ha convertido de una cadena a un número entero.

Sin embargo, nuestra otra cadena arrojó un error al ejecutar la función «int()» porque no pudo determinar el tipo de datos.

Convertir cadena binaria a entero usando Python

También puede convertir una cadena que contenga un número binario en Python. Logramos esto configurando la base en «2», o con una cadena formateada, incluso puede usar una base establecida en «0».

Método uno: convertir binario a entero usando la base 2

Al establecer la base en 2, la función «int()» convertirá su número de una cadena binaria a un número. Asegúrese de que su número use el formato «010101» o «0b010101».

Usar la función «int()» para convertir sus cadenas es útil cuando sabe que siempre contendrá un número binario.

Ejemplo de uso de base 2 para convertir binario a entero

Para este ejemplo crearemos dos variables, una llamada «x» con el valor «0b010101» y otra llamada «y» que tiene el valor «010101».

Luego usamos la función «int()», estableciendo el valor base en 2. Convertirá nuestras dos cadenas binarias a su valor entero.

A continuación puede ver el resultado de ejecutar el código anterior. Puede ver usando la base 2, la función «int ()» de Python convirtió cada cadena en un número entero.

Método dos: convertir binario a entero usando la base 0

Al igual que con los números hexadecimales, siempre que anteponga el número con «0b», puede usar la función «int()» con una base de 0.

La función «int()» usa este prefijo para determinar cómo convertir el número.

Ejemplo de conversión de binario a entero usando base 0

Comenzamos este ejemplo con dos cadenas binarias. Uno tiene el prefijo «0b» y el otro no.

Verá cómo establecer la base en 0 hará que «int()» convierta la cadena con el prefijo «0b» y arroje un error en la que falta.

Después de ejecutarlo, puede ver que la función «int()» maneja fácilmente la cadena que comienza con «0b». Pero arrojó un error con el que falta la identificación.

Usando Python para convertir cadenas octales a enteros usando Python

Para nuestra sección final sobre cómo convertir una cadena en un número entero en Python, exploraremos el manejo de cadenas octales.

Al igual que los otros sistemas numéricos que hemos explorado, le mostraremos dos métodos que puede usar.

Primer método: convertir una cadena octal en un entero usando la base 8

Este primer método permite que la función “int()” convierta una cadena octal en un entero sin importar el formato. Logramos esto estableciendo la «base» en 8.

Básicamente, le permite tomar una cadena octal formateada como «127» o «0o127» y convertirla en un número entero.

Ejemplo de conversión de un octal a un entero usando la base 8

Para este ejemplo usaremos dos variables, una llamada «x» con el valor «0o127» y otra llamada «y» con el valor «127».

Ambos contienen el mismo número octal. El «0o» identifica el número en esta cadena como un octal.

Convertimos estos dos elementos de una cadena octal a un entero usando la función «int()» de Python.

Si ejecuta estas líneas en su intérprete de Python, obtendrá el siguiente resultado. Ambas cadenas se convirtieron fácilmente de su valor octal a un número entero.

Segundo método: convertir un octal en un entero usando la base 0

El segundo método es usar la función «int()» con la base establecida en «0».

Esto requiere que su cadena tenga el prefijo «0o», pero permite que la función «int()» también maneje cualquier otra cadena numérica formateada.

Ejemplo de convertir un octal a un entero usando la base 0

En este ejemplo, estamos usando las mismas variables que usamos para nuestro primer método. Esto significa una variable llamada «x» con el valor «0o127» y otra llamada «y» con el valor «127».

Lo que hace que este ejemplo sea diferente es que usaremos la base 0 cuando usemos la función «int()». Con la base 0 definida, la función «int()» solo podrá convertir nuestra cadena que contiene el prefijo «0o».

Al ejecutar este código, la primera cadena se convierte con éxito de octal a entero.

Sin embargo, mientras que el segundo aún se convertirá, Python asumirá que está usando un formato decimal. Por lo tanto, el segundo valor se imprimirá como «127» en lugar de «87».

Conclusión

A lo largo de este tutorial, le mostramos cómo convertir una cadena en un número entero en Python.

Como una cadena puede contener potencialmente diferentes formatos de número, hemos explorado algunos de los más útiles. Sin embargo, al cambiar el valor base, debería poder manejar cualquier número que necesite.

Si tuvo algún problema para entender cómo convertir una cadena en un número entero, comente a continuación.

Para obtener más información sobre Python, asegúrese de leer nuestros muchos otros tutoriales de Python.

También puede gustarte...