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
ndigits
n'est pas fourni,round()
renvoie l'entier le plus proche du nombre donné. - Si
ndigits
est donné,round()
renvoie le nombre arrondi auxndigits
chiffres.
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.67
au 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.675
est 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 decimal
module, 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