Maison >développement back-end >Tutoriel Python >Pourquoi `int()` renvoie-t-il une erreur « ValueError : littéral invalide pour int() avec base 10 : '' » ?

Pourquoi `int()` renvoie-t-il une erreur « ValueError : littéral invalide pour int() avec base 10 : '' » ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-16 00:26:13639parcourir

Why Does `int()` Throw a

Impossible d'analyser la chaîne en entier : compréhension de l'erreur 'ValueError : littéral invalide pour int() avec base 10 : ''' Erreur

Quand en essayant de convertir une chaîne en un entier avec int(), vous pouvez rencontrer une « ValueError : littéral non valide pour int() en base 10 : erreur ''". Cette erreur se produit lorsque la chaîne fournie ne peut pas être interprétée comme un entier valide.

Le message d'erreur détaille la chaîne qui a provoqué l'échec de la conversion. Dans le cas d'une chaîne vide (''), comme dans l'erreur que vous avez fournie, la fonction int() ne peut pas la reconnaître comme une valeur numérique.

Un autre scénario courant consiste à tenter de convertir une chaîne à virgule flottante valeur directement à un entier. Par exemple :

>>> int('55063.000000')
Traceback (most recent call last):
  File &quot;<stdin>&quot;, line 1, in <module>
ValueError: invalid literal for int() with base 10: '55063.000000'

Pour résoudre ce problème, convertissez d'abord la chaîne en valeur à virgule flottante à l'aide de float() :

>>> int(float('55063.000000'))
55063

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn