Comment convertir des chaînes en nombres entiers en Python

Semblable à la str()méthode intégrée , Python propose également la int()méthode pratique qui prend un objet chaîne comme argument et renvoie un entier.

Exemple d'utilisation:

# Here age is a string object age = "18" print(age) # Converting a string to an integer int_age = int(age) print(int_age)

Production:

18 18

Bien que la sortie soit visuellement similaire, gardez à l'esprit que la première ligne est un objet chaîne tandis que la ligne suivante est un objet entier. Ceci est illustré plus en détail dans l'exemple suivant:

age = "18" print(age + 2)

Production:

Traceback (most recent call last): File "", line 1, in  TypeError: cannot concatenate 'str' and 'int' objects

L'erreur devrait vous indiquer clairement que vous devez convertir l' ageobjet en entier avant d'y ajouter quelque chose.

age = "18" age_int = int(age) print(age_int + 2)

Production:

20

Mais gardez ces cas particuliers à l'esprit:

  • Une virgule flottante (un entier avec une partie fractionnaire) comme argument renverra le flottant arrondi à l'entier entier le plus proche. Par exemple: print(int(7.9))imprimera 7. D'autre part, print(int("7.9"))entraînera une erreur car un flottant en tant qu'objet chaîne ne peut pas être converti en entier.
Traceback (most recent call last): File "", line 1, in  ValueError: invalid literal for int() with base 10: '7.9'
  • Les mots donnés en argument renverront la même erreur. Par exemple, print(int("one"))retournera:
Traceback (most recent call last): File "", line 1, in  ValueError: invalid literal for int() with base 10: 'one'