convertir la chaîne en horodatage Python

Python ne peut convertir qu’une valeur numérique valide en une valeur à virgule flottante. Si vous essayez de convertir une valeur contenant une virgule, des espaces ou certains caractères, vous rencontrez une erreur indiquant "valueerror : impossible de convertir la chaaîne en float‚".

Dans ce guide, nous parlons de ce que signifie cette erreur et pourquoi elle est soulevée. Nous passons en revue un exemple de cette erreur pour vous aider à voir comment la corriger dans votre code.

valueerror : impossible de convertir la chaaîne en flottant

Python propose une méthode appelée float() qui convertit une chaaîne en un nombre à virgule flottante.

Cette méthode est utile si vous devez effectuer une opération mathématique sur une valeur. Vous ne pouvez pas effectuer de maths sur une chaaîne ; vous pouvez effectuer des calculs sur une virgule flottante.

La méthode float() vous permet uniquement de convertir chaaînes qui apparaissent comme des flottants. Cela signifie que vous ne pouvez pas convertir une valeur si :

  • Une valeur contient des espaces
  • Une valeur contient une virgule
  • Une valeur contient non -caractères spéciaux (c’est-à-dire que "inf‚" est un caractère spécial, mais "fd" ne l’est pas)

La "valueerror : n’a pas pu convertir la chaaîne en float‚" une erreur est générée si vous ne remplissez pas l’un des trois critères ci-dessus. En effet, Python ne peut pas convertir une valeur en flottant à moins que cette valeur n’apparaisse d’une manière particulière.

Un exemple de scénario

Ici, nous écrivons un programme qui convertit les dollars américains (USD) en livres sterling (GBP).

Pour commencer, demandez à un utilisateur d’insérer la valeur en dollars qu’il souhaite convertir en livres :

81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi en technologie après avoir assisté à un bootcamp. Soyez associé à un bootcamp aujourd’hui.

Le diplômé moyen d’un bootcamp a passé moins de six mois en transition de carrière, du démarrage d’un bootcamp à la recherche de son premier emploi.

Nous convertissons la valeur d’un utilisateur insère un nombre à virgule flottante afin que nous puissions effectuer un calcul mathématique en utilisant la valeur ultérieurement.

Ensuite, nous fixons le taux de change de l’USD à GBP. Actuellement, 1 USD vaut 0,76 GBP :

Avec ces deux valeurs, nous pouvons calculer combien vaut notre valeur en USD en GBP. Pour ce faire, nous multiplier "dollar_value‚" par "exchange_rate‚" :

Nous avons utilisé un .format () déclaration pour créer un message qui informe l’utilisateur de la valeur de son USD en GBP. Exécutons notre code et voyons ce qui se passe :

Notre code s’exécute avec succès. Voyons ce qui se passe si nous essayons d’insérer un nombre dans notre code qui n’est pas formaté correctement :

Notre code renvoie une erreur.

La solution

Notre code fonctionne lorsque nous insérons une valeur à virgule flottante valide dans notre programme. Nous ne pouvons pas compter sur le fait que chaque utilisateur le fera.

Lorsque nous avons essayé d’insérer une valeur dans les milliers (2 300), nous avons ajouté une virgule. Cela a rendu notre nombre à virgule flottante invalide.

Pour résoudre ce problème, nous pouvons utiliser un "try‚Ķexcept" block :

Notre programme essaiera d’exécuter le code dans le "try‚" bloquer. Si notre programme échoue, le "except" le bloc sera exécuté.

Exécutez notre code et insérez une valeur à virgule flottante invalide.

Notre code renvoie :

Let‚Äô s exécutez notre code avec une valeur valide :

Dans les deux cas, notre code fonctionne avec succès. Dans le premier cas, o√π nous avons inséré une valeur invalide dans notre programme, le contenu de notre "except" ; bloc exécuté. Dans le second cas, notre programme a calculé combien 23 USD est égal à en GBP.

Conclusion

La "valueerror : n’a pas pu convertir st anneau pour flotter" une erreur est générée lorsque vous essayez de convertir une chaaîne qui n’est pas formatée en nombre à virgule flottante en un nombre flottant.

Vous pouvez résoudre cette erreur en ajoutant un gestionnaire qui garantit que votre code ne continue pas en cours d’exécution si l’utilisateur insère une valeur invalide. Alternativement, vous pouvez ajouter une validation d’entrée supplémentaire avant de convertir un nombre en float() pour vous assurer qu’un nombre est valide.

Maintenant vous êtes prêt à corriger cette erreur Python courante dans votre code.