Les con­ver­sions de chaînes de ca­rac­tères (strings) Python en float per­met­tent d’éviter les erreurs lorsque l’on tente d’inclure des chaînes de ca­rac­tères non nu­mé­riques dans des opé­ra­tions arith­mé­tiques.

Prérequis

Pour convertir des strings Python en floats, la chaîne de ca­rac­tères doit avoir une re­pré­sen­ta­tion numérique valide d’un nombre à virgule flottante. Cela signifie qu’il peut contenir des nombres au format décimal, y compris des points décimaux ou une notation scien­ti­fique (par exemple : "3.14" ou "2.7e-3"). La chaîne doit également être exempte de ca­rac­tères sup­plé­men­taires, d’espaces ou de ca­rac­tères non valides qui ne re­pré­sen­tent pas des valeurs nu­mé­riques. Dans le cas contraire, la con­ver­sion peut échouer.

La con­ver­sion string-float Python est une fonc­tion­na­lité de base dis­po­nible dans toutes les versions de Python. Toutefois, des nuances peuvent ap­pa­raître dans l’uti­li­sa­tion de certaines méthodes ou fonctions, selon la version de Python que vous utilisez. Il est important de tenir compte des erreurs possibles lors de la con­ver­sion : cela inclut l’entrée de chaînes de ca­rac­tères qui ne re­pré­sen­tent pas un nombre valide. Des valeurs spéciales comme NaN (Not a Number) ou Infinity ne peuvent pas être con­ver­ties en floats. La gestion des con­ver­sions exige donc des dé­ve­lop­peurs qu’ils gèrent les erreurs de manière ap­pro­priée. Cela implique par exemple l’uti­li­sa­tion de blocs try-except pour in­ter­cep­ter les ex­cep­tions et y réagir de manière ap­pro­priée.

Convertir des strings Python avec float()

La fonction float() est une méthode intégrée dans Python qui convertit une chaîne de ca­rac­tères (string) en un nombre flottant (float). La fonction float() est souvent utilisée pour re­pré­sen­ter les entrées de l’uti­li­sa­teur de chaînes de ca­rac­tères en format numérique, pour effectuer des calculs ou des opé­ra­tions sur des valeurs nu­mé­riques. Dans les pro­grammes qui tra­vail­lent avec dif­fé­rents types de données, float() est utilisé pour garantir la cohérence des données en con­ver­tis­sant les valeurs dans le format numérique souhaité.

Pour convertir un string en float Python, il faut passer un string valide en argument à la fonction float() :

str1 = "3.1416"
float_value = float(str1)
print(float_value) # Output: 3.1416
python

D’autres types nu­mé­riques comme int ou complex peuvent également être convertis en nombre à virgule flottante, en les trans­met­tant à la fonction float().

Un bloc try-except permet d’in­ter­cep­ter les entrées uti­li­sa­teur non valides lors de la con­ver­sion d’une chaîne de ca­rac­tères en un float :

while True:
    user_input = input("Enter a number: ")
    try:
        float_value = float(user_input)
        print("Entered number as float:", float_value)
        break # Exit the loop if the conversion was successful
    except ValueError:
        print("Invalid input! Please enter a numeric value.")
        # The loop continues to prompt for valid input
python

Le code ci-dessus est une boucle qui invite les uti­li­sa­teurs à saisir un nombre. Il tente ensuite de convertir la valeur saisie en un nombre à virgule flottante. Dans le bloc d’essai, float(user_input) doit convertir la chaîne de ca­rac­tères saisie en un float. Si la con­ver­sion est réussie, nous en­re­gis­trons le nombre dans float_value et le sortons. Ensuite, nous utilisons l’ins­truc­tion break pour terminer la boucle et continuer le programme.

Si une Va­lueEr­ror survient lors de la con­ver­sion string-float Python, le code est exécuté dans le bloc Except. Cela peut arriver lorsque les uti­li­sa­teurs entrent quelque chose qui ne peut pas être converti en float, par exemple une lettre. Il est alors indiqué que l’entrée n’est pas valide et la boucle se poursuit pour demander à nouveau une entrée valide.

Convertir un string Python en float avec Numpy

Pour convertir une chaîne de ca­rac­tères Python en un float avec NumPy, vous pouvez utiliser la fonction numpy.float64(). Vous obtenez ainsi une valeur en virgule flottante 64 bits à partir d’une chaîne de ca­rac­tères.

import numpy as np
string_value = "3.1416"
float_value = np.float64(string_value)
print(float_value) # Output: 3.1416
python

Tout d’abord, vous devez importer NumPy dans votre script s’il n’est pas encore installé. Avec NumPy, vous pouvez ensuite appliquer la fonction numpy.float64() à la chaîne de ca­rac­tères string_value pour convertir la chaîne en une valeur en virgule flottante 64 bits.

Con­ver­sion avec str()

La fonction str() en Python sert à convertir des valeurs en un string. Elle peut aussi tra­vail­ler avec des nombres à virgule flottante pour les convertir en un string.

float_number = 3.1416
string_number = str(float_number)
print(string_number) # Output: "3.1416"
python

Dans l’exemple ci-dessus, la valeur float 3.1416 est re­pré­sen­tée dans la chaîne de ca­rac­tères "3.1416" à l’aide de la fonction str().

str() est aussi utile pour con­ca­té­ner plusieurs valeurs de float avec des f-strings, une méthode de formatage de chaînes en Python :

float_value1 = 3.1416
float_value2 = 2.7182
float_value3 = 1.6180
string_concatenation = f"Concatenation of: {str(float_value1)}, {str(float_value2)}, and {str(float_value3)}"
print(string_concatenation) # Concatenation of: 3.1416, 2.7182, and 1.6180
python

Il faut noter que lorsque les floats sont convertis en chaînes par str(), la chaîne ré­sul­tante re­pré­sente la valeur sous forme de texte et ne peut plus être utilisée di­rec­te­ment pour des calculs nu­mé­riques ou des opé­ra­tions ma­thé­ma­tiques, à moins qu’elle ne soit d’abord re­con­ver­tie sous une forme numérique (comme un float).

Conseil

Dans notre Digital Guide, vous trouverez également des tutoriels sur les con­ver­sions de Python String to List et Python String to Datetime.

Hé­ber­ge­ment Web
Hé­ber­ge­ment Web de pointe au meilleur prix
  • 3x plus rapide, 60 % d'éco­no­mie
  • Haute dis­po­ni­bi­lité >99,99 %
  • Seulement chez IONOS : jusqu'à 500 Go inclus
Aller au menu principal