Python rond ()

La fonction round () renvoie un nombre à virgule flottante arrondi au nombre de décimales spécifié.

La syntaxe de la round()fonction est:

 round (nombre, ndigits)

Paramètres round ()

La round()fonction prend deux paramètres:

  • number - le nombre à arrondir
  • ndigits (facultatif) - nombre jusqu'à lequel le nombre donné est arrondi; la valeur par défaut est 0

Valeur renvoyée par round ()

  • Si ndigitsn'est pas fourni, round()renvoie l'entier le plus proche du nombre donné.
  • Si ndigitsest donné, round()renvoie le nombre arrondi aux ndigitschiffres.

Exemple 1: Comment round () fonctionne en Python?

 # for integers print(round(10)) # for floating point print(round(10.7)) # even choice print(round(5.5))

Production

 10 11 6

Exemple 2: arrondir un nombre au nombre donné de décimales

 print(round(2.665, 2)) print(round(2.675, 2))

Production

 2,67 2,67

Remarque : le comportement de round()for floats peut être surprenant. Avis round(2.675, 2)donne 2.67au lieu de l'attendu 2.68. Ce n'est pas un bug: c'est le résultat du fait que la plupart des fractions décimales ne peuvent pas être représentées exactement comme un flottant.

Lorsque le nombre décimal 2.675est converti en nombre binaire à virgule flottante, il est à nouveau remplacé par une approximation binaire, dont la valeur exacte est:

 2.67499999999999982236431605997495353221893310546875

Pour cette raison, il est arrondi à 2,67.

Si vous êtes dans une situation où cette précision est nécessaire, envisagez d'utiliser le decimalmodule, qui est conçu pour l'arithmétique à virgule flottante:

 from decimal import Decimal # normal float num = 2.675 print(round(num, 2)) # using decimal.Decimal (passed float as string for precision) num = Decimal('2.675') print(round(num, 2))

Production

 2,67 2,68

Articles intéressants...