Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Module « builtins »

Fonction round - module builtins

Signature de la fonction round

 def round(value: float, digits: int=0) -> float|int

Description

Cette fonction permet d'arrondir, au plus proche, une valeur à n chiffres avant ou après la virgule. La précision (paramètres digits) à laquelle arrondir votre valeur est par défaut définie à 0 : vous récupérerez alors une valeur entière.

>>> round(3.1415)
3
>>>

Si le paramètre digits est positif, il permet alors de spécifier le nombre de chiffres maximal après la virgule. S'il est négatif, il permet d'arrondir à une puissance de 10.

>>> round(3.1415, 2)
3.14
>>> round(123456, -3)
123000
>>>
la représentation interne des flottants n'est pas toujours parfaite (représentation mantisse/exposant). Du coup, certains arrondis penchent parfois vers la valeur inférieure et parfois vers une valeur supérieure. En voici un exemple.
>>> round(3.1)    # Aucun problème, on arrondit à la valeur inférieure 
3
>>> round(3.7)    # Aucun problème, on arrondit à la valeur supérieure
4
>>> round(2.5)    # Là, c'est pas gagné : on est juste à la limite. Ici on part sur la valeur inférieure
2
>>> round(3.5)    # Sur cet exemple on part sur la valeur supérieure : c'est comme ça ;-)
4
>>> 

round.__doc__

Round a number to a given precision in decimal digits.

The return value is an integer if ndigits is omitted or None.  Otherwise
the return value has the same type as the number.  ndigits may be negative.

Paramètres

ParamètreDescription
 value : float 
La valeur à arrondir.
 digits : int = 0 
La précision de l'arrondi. Cette valeur peut être positive (arrondi à digits chiffres après la virgule). Elle peut être négative (arrondi à digits chiffres avant la virgule).

Valeur de retour

La valeur de retour est de type float ou int.

Elle correspond à la valeur arrondie souhaitée.

Exception

Exemple(s) de code

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
from random import random

# On a des articles à vendre.
articles = ["Super clé USB", "Souris", "Clavier", "Un chargeur"]

# On détermine leur prix grâce à un super algo ;-)
for article in articles:
    price = round(random() * 150, 2)
    # On affiche l'article et son prix.
    print(article, "=", price, "euros")
Exemple d'utilisation de la fonction round.
il aurait aussi été possible d'arrondir le prix non pas dans la variable price, mais plutôt lors de l'affichage du prix, via une chaîne formatée.

Et voici les résultats produits par cet exemple.

$> python3 sample.py
Super clé USB = 50.76 euros
Souris = 3.57 euros
Clavier = 65.83 euros
Un chargeur = 22.97 euros
$> 

Voir aussi

La classe int
La classe float

La fonction math.ceil
La fonction math.floor
La fonction math.trunc
Les fonctions round, roundf et roundl en C
La méthode Math.round en Java