Convertir une chaîne en décimal en Python

Vaibhhav Khetarpal 10 octobre 2023
  1. Utilisez la fonction float() pour convertir une chaîne en décimal en Python
  2. Utiliser la gestion des exceptions Convertir une chaîne contenant une virgule en une chaîne en Python
  3. Utilisez la mise en forme de chaîne avec la fonction float() pour convertir une chaîne en décimale en Python
  4. Utiliser la compréhension de liste pour convertir une liste de chaînes en flottant en Python
  5. Utilisez la fonction numpy.float() pour convertir une chaîne en décimale en Python
  6. Utilisez la méthode astype() de la bibliothèque NumPy pour convertir une chaîne en décimale en Python
  7. Utilisez le module decimal pour convertir une chaîne en décimale en Python
Convertir une chaîne en décimal en Python

Les chaînes en Python peuvent prendre des valeurs numériques. Semblable à d’autres langages de programmation populaires, Python prend en charge les nombres entiers et à virgule flottante (ou décimaux) et des types de données distincts leur sont attribués. Parfois, il est nécessaire de convertir les valeurs numériques prises dans une chaîne en un entier ou un nombre à virgule flottante.

Ce didacticiel présentera comment convertir une chaîne en un nombre décimal en Python.

Utilisez la fonction float() pour convertir une chaîne en décimal en Python

Python fournit une fonction intégrée appelée float() qui est utilisée pour transformer une chaîne ou un entier en une valeur à virgule flottante.

Ici, nous allons entrer une chaîne et exécuter la fonction float() sur la chaîne donnée.

Le code suivant utilise la fonction float() pour convertir une chaîne en décimal en Python.

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

Le code ci-dessus fournit la sortie suivante :

5.54

Utiliser la gestion des exceptions Convertir une chaîne contenant une virgule en une chaîne en Python

Lorsqu’une virgule sépare les nombres dans la chaîne et que la fonction float() est directement appelée sur la chaîne, elle renvoie une ValueError.

L’exemple de code suivant vous aidera à mieux le comprendre.

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

Le code ci-dessus fournit la sortie suivante :

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

Nous pouvons faire un détour par le code d’origine et utiliser la gestion des exceptions dans ce code pour éviter cela.

L’instruction try...except est utilisée à des fins de gestion des exceptions en Python. L’instruction try...except est divisée en trois blocs ; les trois blocs ont un objectif différent.

  • Le bloc try contient le cluster de code à tester pour d’éventuelles erreurs.
  • Le bloc except permet d’ajouter des exceptions et de gérer les erreurs du code.
  • Le bloc finally contient les instructions à exécuter et est ignoré par les blocs try et except.

Le code suivant utilise la gestion des exceptions sur le code d’origine donné ci-dessus pour convertir une chaîne en décimal en Python.

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

Le code ci-dessus fournit la sortie suivante :

Invalid Float number to be converted.

Utilisez la mise en forme de chaîne avec la fonction float() pour convertir une chaîne en décimale en Python

Dans une chaîne donnée, si nous voulons spécifier le nombre de virgules décimales que nous voulons avoir dans la variable à virgule flottante, alors nous pouvons utiliser le formatage de chaîne avec la fonction float() intégrée.

Le code suivant utilise le formatage de chaîne pour convertir une chaîne en décimal en Python.

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

Le code ci-dessus fournit la sortie suivante :

5.54

Utiliser la compréhension de liste pour convertir une liste de chaînes en flottant en Python

La compréhension de liste est un moyen relativement plus court et très gracieux de créer des listes qui doivent être formées sur la base de valeurs données d’une liste déjà existante.

Nous pouvons utiliser la compréhension de liste et convertir toutes les valeurs de la liste en valeurs à virgule flottante en utilisant la méthode float() dans la compréhension de liste.

Le code suivant utilise la compréhension de liste pour convertir une liste de chaînes en float en Python.

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

Le code ci-dessus fournit la sortie suivante.

[1.22, 5.54, 6.858]

Utilisez la fonction numpy.float() pour convertir une chaîne en décimale en Python

Le terme NumPy est un acronyme pour Numerical Python. Cette bibliothèque rend possible l’utilisation de tableaux en Python. Il fournit également des fonctions qui aident à manipuler ces tableaux.

La fonction numpy.float() fonctionne de manière similaire à la fonction intégrée float() dans Python, à la seule différence que la fonction numpy.float() est conçue pour fonctionner avec des tableaux. Il génère toujours un tableau de valeurs à virgule flottante.

Le code suivant utilise la fonction numpy.float() pour convertir une chaîne en décimal en Python.

import numpy as np

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

Le code ci-dessus fournit la sortie suivante :

[1.22, 5.54, 6.858]

Utilisez la méthode astype() de la bibliothèque NumPy pour convertir une chaîne en décimale en Python

La bibliothèque NumPy contient une méthode intégrée astype() qui aide à convertir le type de données du tableau NumPy donné.

Le code suivant utilise la méthode astype() de la bibliothèque NumPy pour convertir une chaîne en décimal en Python.

import numpy as np

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

Le code ci-dessus fournit la sortie suivante :

[1.22  5.54  6.858]

Utilisez le module decimal pour convertir une chaîne en décimale en Python

Le module decimal fournit des fonctions qui effectuent des opérations plus rapides que les fonctions à virgule flottante de stock.

La fonction decimal.Decimal(), qui est un constructeur, prend en entrée une valeur numérique et effectue le processus pour la convertir en un type décimal, ce qui est idéal pour stocker et représenter les valeurs numériques tout en préservant strictement la précision de le nombre.

Le code suivant utilise le module décimal pour convertir une chaîne en décimal en Python.

from decimal import Decimal

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

Le code ci-dessus fournit la sortie suivante :

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

Article connexe - Python String

Article connexe - Python Float