Convertir des strings en float dans Python
Les conversions de chaînes de caractères (strings) Python en float permettent d’éviter les erreurs lorsque l’on tente d’inclure des chaînes de caractères non numériques dans des opérations arithmétiques.
Prérequis
Pour convertir des strings Python en floats, la chaîne de caractères doit avoir une représentation 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 scientifique (par exemple : "3.14"
ou "2.7e-3"
). La chaîne doit également être exempte de caractères supplémentaires, d’espaces ou de caractères non valides qui ne représentent pas des valeurs numériques. Dans le cas contraire, la conversion peut échouer.
La conversion string-float Python est une fonctionnalité de base disponible dans toutes les versions de Python. Toutefois, des nuances peuvent apparaître dans l’utilisation 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 conversion : cela inclut l’entrée de chaînes de caractères qui ne représentent pas un nombre valide. Des valeurs spéciales comme NaN
(Not a Number) ou Infinity
ne peuvent pas être converties en floats. La gestion des conversions exige donc des développeurs qu’ils gèrent les erreurs de manière appropriée. Cela implique par exemple l’utilisation de blocs try-except pour intercepter les exceptions et y réagir de manière approprié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 caractères (string) en un nombre flottant (float). La fonction float()
est souvent utilisée pour représenter les entrées de l’utilisateur de chaînes de caractères en format numérique, pour effectuer des calculs ou des opérations sur des valeurs numériques. Dans les programmes qui travaillent avec différents types de données, float()
est utilisé pour garantir la cohérence des données en convertissant 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
pythonD’autres types numériques comme int
ou complex
peuvent également être convertis en nombre à virgule flottante, en les transmettant à la fonction float()
.
Un bloc try-except permet d’intercepter les entrées utilisateur non valides lors de la conversion d’une chaîne de caractè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
pythonLe code ci-dessus est une boucle qui invite les utilisateurs à 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 caractères saisie en un float. Si la conversion est réussie, nous enregistrons le nombre dans float_value
et le sortons. Ensuite, nous utilisons l’instruction break
pour terminer la boucle et continuer le programme.
Si une ValueError survient lors de la conversion string-float Python, le code est exécuté dans le bloc Except. Cela peut arriver lorsque les utilisateurs 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 caractè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 caractères.
import numpy as np
string_value = "3.1416"
float_value = np.float64(string_value)
print(float_value) # Output: 3.1416
pythonTout 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 caractères string_value
pour convertir la chaîne en une valeur en virgule flottante 64 bits.
Conversion avec str()
La fonction str()
en Python sert à convertir des valeurs en un string. Elle peut aussi travailler 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"
pythonDans l’exemple ci-dessus, la valeur float 3.1416
est représentée dans la chaîne de caractères "3.1416"
à l’aide de la fonction str()
.
str()
est aussi utile pour concaté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
pythonIl faut noter que lorsque les floats sont convertis en chaînes par str()
, la chaîne résultante représente la valeur sous forme de texte et ne peut plus être utilisée directement pour des calculs numériques ou des opérations mathématiques, à moins qu’elle ne soit d’abord reconvertie sous une forme numérique (comme un float).
Dans notre Digital Guide, vous trouverez également des tutoriels sur les conversions de Python String to List et Python String to Datetime.
- Certificat SSL et protection DDoS
- Sauvegarde et restauration des données
- Assistance 24/7 et conseiller personnel