Comment convertir une chaîne en flottant en Python

Introduction

Dans cet article, nous utiliserons la fonction float() de Python pour convertir des chaînes en nombres décimaux. Et nous utiliserons également la fonction str() de Python pour convertir des nombres décimaux en chaînes.

Il est important de convertir correctement les types de données avant de les utiliser pour des calculs et des concaténations afin d’éviter les erreurs d’exécution.

Prérequis

Pour terminer ce tutoriel, vous aurez besoin de :

Ce tutoriel a été testé avec Python 3.9.6.

Utilisation de la fonction float()

Nous pouvons convertir une chaîne en flottant en Python en utilisant la fonction float(). Il s’agit d’une fonction intégrée utilisée pour convertir un objet en nombre à virgule flottante. En interne, la fonction float() appelle la fonction __float__() de l’objet spécifié.

Exemple

Voyons un exemple de conversion d’une chaîne en flottant en Python :

input_1 = '10.5674'

input_1 = float(input_1)

print(type(input_1))
print('Float Value =', input_1)

Sortie :

<class 'float'>
Float Value = 10.5674

La valeur de chaîne '10.5674' a été convertie en une valeur flottante de 10.5674.

Pourquoi avons-nous besoin de convertir une chaîne en flottant ?

Si nous recevons une valeur flottante de l’utilisateur via l’entrée du terminal ou si nous la lisons à partir d’un fichier, alors ce sont des objets de type chaîne. Nous devons les convertir explicitement en flottant afin de pouvoir effectuer les opérations nécessaires dessus, telles que l’addition, la multiplication, etc.

input_1 = input('Please enter first floating point value:\n')
input_1 = float(input_1)

input_2 = input('Please enter second floating point value:\n')
input_2 = float(input_2)

print(f'Sum of {input_1} and {input_2} is {input_1+input_2}')

Note : Si vous n’êtes pas familier avec la mise en forme des chaînes de caractères en utilisant le préfixe f, veuillez lire les chaînes f en Python.

Exécutons ce code et fournissons des valeurs flottantes pour input_1 et input_2 :

Please enter first floating point value:
10.234
Please enter second floating point value:
2.456
Sum of 10.234 and 2.456 is 12.69

La somme résultante de 10.234 et de 2.456 est 12.69.

Idéalement, nous devrions utiliser un bloc try-except pour capturer les exceptions en cas de saisie invalide de l’utilisateur.

Utilisation de la fonction str()

Nous pouvons également convertir un flottant en chaîne en utilisant la fonction str(). Cela peut être nécessaire dans des situations où nous voulons concaténer des valeurs flottantes.

Exemple

Regardons un exemple:

input_1 = 10.23
input_2 = 20.34
input_3 = 30.45

# en utilisant les f-strings à partir de Python 3.6+, changer pour format() pour les versions antérieures
print(f'Concatenation of {input_1} and {input_2} is {str(input_1) + str(input_2)}')
print(f'CSV from {input_1}, {input_2} and {input_3}:\n{str(input_1)},{str(input_2)},{str(input_3)}')
print(f'CSV from {input_1}, {input_2} and {input_3}:\n{", ".join([str(input_1),str(input_2),str(input_3)])}')

Exécutons ce code:

Concatenation of 10.23 and 20.34 is 10.2320.34
CSV from 10.23, 20.34 and 30.45:
10.23,20.34,30.45
CSV from 10.23, 20.34 and 30.45:
10.23, 20.34, 30.45

La concaténation de 10.23 et de 20.34 produit la chaîne '10.2320.34'. Ce code produit également deux versions de valeurs séparées par des virgules (CSV).

Si nous ne convertissons pas les flottants en chaîne dans le programme ci-dessus, la fonction join() lèvera une exception. De plus, nous ne pourrons pas utiliser l’opérateur + pour concaténer car il ajoutera les nombres à virgule flottante.

Conclusion

Vous pouvez consulter le script Python complet et plus d’exemples Python depuis notre dépôt GitHub.

Références:

Source:
https://www.digitalocean.com/community/tutorials/python-convert-string-to-float