Python >> Tutoriel Python >  >> Python

Python Print Float sans décimales

Formulation du problème

  • Étant donné un nombre à virgule flottante x = 123.456 .
  • Comment imprimer le nombre sans reste décimal ?
x = 123.456
print(x)
# Desired output: 123
# Real output: 123.456

Solution 1 :int()

La fonction intégrée de Python int(x) convertit n'importe quel nombre flottant x à un entier en le tronquant vers 0. Par exemple, positif int(1.999) sera tronqué à 1 et int(-1.999) négatif à -1 .

>>> int(123.456)
123
>>> int(-123.456)
-123

Pour booster vos compétences, n'hésitez pas à regarder ma vidéo explicative sur le int() fonction suivante :

Solution 2 :arrondir()

La fonction intégrée de Python round(x) , lorsqu'il est appelé avec un seul argument flottant x , convertit le flottant en un entier en l'arrondissant au nombre entier suivant. Par exemple, int(1.999) sera arrondi à 2 et int(-1.999) à -2 .

>>> round(123.456)
123
>>> round(-123.456)
-123

Pour booster vos compétences, n'hésitez pas à regarder ma vidéo explicative sur le round() fonction suivante :

Solution 3 :Imprimez séparément les parties décimales et non décimales

Étant donné une chaîne représentant un nombre à virgule flottante, vous pouvez imprimer les parties avant et après la virgule décimale en divisant la chaîne sur la virgule décimale et en convertissant les deux parties en nombres entiers en utilisant le int() fonction intégrée dans une déclaration de compréhension de liste.

x = '123.456'
num, decimal = [int(part) for part in x.split('.')]

print(num)
# 123

print(decimal)
# 456

Cet extrait s'appuie sur quatre concepts Python que vous devez d'abord comprendre :

  • int() fonction,
  • affectation multiple,
  • compréhension de la liste, et
  • string.split() méthode.

Explorons le plus important, l'énoncé de compréhension de la liste, dans la vidéo suivante !