Recherche de site Web

Comment convertir une chaîne en un float en Python


Introduction

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

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

Conditions préalables

Pour compléter ce tutoriel, vous aurez besoin de :

  • Familiarité avec l'installation de Python 3. Et familiarité avec la programmation en Python. Comment coder dans la série Python 3 ou utiliser VS Code pour Python.

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

En utilisant la fonction float()

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

Exemple

Regardons 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 chaîne de '10.5674' a été convertie en une valeur flottante de 10.5674.

Pourquoi avons-nous besoin de convertir une chaîne en nombre décimal ?

Si nous recevons une valeur flottante de l'entrée utilisateur via le terminal ou en la lisant à partir d'un fichier, alors ce sont des objets chaîne. Nous devons les convertir explicitement en flottant afin de pouvoir effectuer les opérations nécessaires sur eux, 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 le formatage de chaînes utilisant le préfixe f, veuillez lire les f-strings 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 2.456 est 12.69.

Idéalement, nous devrions utiliser un bloc try-except pour attraper les exceptions en cas d'entrée invalide de l'utilisateur.

En utilisant la fonction str()

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

Exemple

Examinons un exemple :

input_1 = 10.23
input_2 = 20.34
input_3 = 30.45

using f-string from Python 3.6+, change to format() for older versions
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 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 le flottant en chaîne dans le programme ci-dessus, la fonction join() lancera une exception. De plus, nous ne pourrons pas utiliser l'opérateur + pour concaténer car il additionnera les nombres à virgule flottante.

Conclusion

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

Références :

  • documentation officielle de float()