Convertir cadena en decimal en Python

Vaibhhav Khetarpal 10 octubre 2023
  1. Utilice la función float() para convertir una cadena en decimal en Python
  2. Usar el manejo de excepciones Convertir una cadena que contiene una coma en una cadena en Python
  3. Utilice el formato de cadena junto con la función float() para convertir una cadena en decimal en Python
  4. Utilice la comprensión de lista para convertir una lista de cadenas en flotante en Python
  5. Utilice la función numpy.float() para convertir una cadena en decimal en Python
  6. Utilice el método astype() de la biblioteca NumPy para convertir una cadena en decimal en Python
  7. Utilice el módulo decimal para convertir una cadena en decimal en Python
Convertir cadena en decimal en Python

Las cadenas en Python pueden tomar valores numéricos. Al igual que otros lenguajes de programación populares, Python admite números enteros y de coma flotante (o decimal) y tiene asignados tipos de datos separados para ellos. A veces, es necesario convertir los valores numéricos tomados en una cadena a un número entero o de punto flotante.

Este tutorial presentará cómo convertir una cadena en decimal en Python.

Utilice la función float() para convertir una cadena en decimal en Python

Python proporciona una función incorporada llamada float() que se utiliza para transformar una cadena o un número entero en un valor de punto flotante.

Aquí, ingresaremos una cadena y realizaremos la función float() en la cadena dada.

El siguiente código usa la función float() para convertir una cadena a decimal en Python.

a = "5.54"
x = float(a)
print(x)

El código anterior proporciona el siguiente Resultado:

5.54

Usar el manejo de excepciones Convertir una cadena que contiene una coma en una cadena en Python

Cuando una coma separa los números en la cadena y la función float() es llamada directamente en la cadena, entonces da un ValueError.

El siguiente código de ejemplo le ayudará a comprenderlo mejor.

a = "1,5.54"
x = float(a)
print(x)

El código anterior proporciona el siguiente resultado:

Traceback (most recent call last):
  File "<string>", line 2, in <module>
ValueError: could not convert string to float: '1,5.54'

Podemos desviarnos rápidamente del código original y usar el manejo de excepciones en este código para evitar esto.

La declaración try...except se utiliza con el propósito de manejar excepciones en Python. La declaración try...except se divide en tres bloques; los tres bloques tienen un propósito diferente.

  • El bloque try contiene el grupo de código que se probará en busca de errores.
  • El bloque except se utiliza para agregar excepciones y manejar los errores del código.
  • El bloque finally contiene las sentencias que deben ejecutarse y los bloques try y except lo ignoran.

El siguiente código utiliza el manejo de excepciones en el código original dado anteriormente para convertir una cadena a decimal en Python.

a = "1,5.54"
try:
    x = float(a)
except ValueError:
    print("Invalid Float number to be converted. ")

El código anterior proporciona el siguiente Resultado:

Invalid Float number to be converted.

Utilice el formato de cadena junto con la función float() para convertir una cadena en decimal en Python

En una cadena dada, si queremos especificar el número de puntos decimales que queremos tener en la variable de punto flotante, entonces podemos usar el formato de cadena junto con la función incorporada float().

El siguiente código usa formato de cadena para convertir una cadena a decimal en Python.

a = "5.54231"
x = float(a)
x = "{:.2f}".format(x)
print(x)

El código anterior proporciona el siguiente Resultado:

5.54

Utilice la comprensión de lista para convertir una lista de cadenas en flotante en Python

La comprensión de listas es una forma relativamente más corta y muy elegante de crear listas que se formarán en función de valores dados de una lista ya existente.

Podemos usar la comprensión de la lista y convertir todos los valores dentro de la lista a valores de punto flotante usando el método float() en la comprensión de la lista.

El siguiente código usa la comprensión de listas para convertir una lista de cadenas para que floten en Python.

lst = ["1.22", "5.54", "6.858"]
x = [float(i) for i in lst]
print(x)

El código anterior proporciona la siguiente salida.

[1.22, 5.54, 6.858]

Utilice la función numpy.float() para convertir una cadena en decimal en Python

El término NumPy es un acrónimo de Numerical Python. Esta biblioteca hace posible el uso de matrices en Python. También proporciona funciones que ayudan a manipular estas matrices.

La función numpy.float() funciona de manera similar a la función incorporada float() en Python, con la única diferencia de que la función numpy.float() está hecha para trabajar con matrices. Siempre genera un array de valores de punto flotante.

El siguiente código usa la función numpy.float() para convertir una cadena a decimal en Python.

import numpy as np

lst = ["1.22", "5.54", "6.858"]
print(list(np.float_(lst)))

El código anterior proporciona el siguiente Resultado:

[1.22, 5.54, 6.858]

Utilice el método astype() de la biblioteca NumPy para convertir una cadena en decimal en Python

La biblioteca NumPy contiene un método astype() incorporado que ayuda a convertir el tipo de datos del array NumPy dada.

El siguiente código usa el método astype() de la biblioteca NumPy para convertir una cadena a decimal en Python.

import numpy as np

a = np.array(["1.22", "5.54", "6.858"])
x = a.astype(float)
print(x)

El código anterior proporciona el siguiente Resultado:

[1.22  5.54  6.858]

Utilice el módulo decimal para convertir una cadena en decimal en Python

El módulo decimal proporciona funciones que realizan operaciones más rápidas que las funciones de coma flotante estándar.

La función decimal.Decimal(), que es un constructor, toma la entrada como un valor numérico y realiza el proceso para convertirlo a un tipo decimal, que es ideal para almacenar y representar los valores numéricos mientras se conserva estrictamente la precisión de el número.

El siguiente código usa el módulo decimal para convertir una cadena a decimal en Python.

from decimal import Decimal

a = "5.54262"
x = Decimal(a)
print(x)

El código anterior proporciona el siguiente Resultado:

5.54262
Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn

Artículo relacionado - Python String

Artículo relacionado - Python Float