Fonction Python round() expliquée avec exemples pratiques
Fonction Python round() expliquée
La fonction intégrée round() est un incontournable pour le travail numérique en Python. Elle renvoie une valeur arrondie à un nombre spécifié de décimales, par défaut à l'entier le plus proche quand aucune précision n'est fournie.
Syntaxe
round(nombre, ndigits=None)
- nombre – La valeur numérique à arrondir.
- ndigits – Optionnel ; le nombre de décimales à conserver. Si omis, le résultat est un entier.
Valeur de retour
Quand ndigits est omis, round() renvoie un int. Si ndigits est fourni, le résultat est un float arrondi à cette précision.
Règles d'arrondi
- Si le chiffre suivant la position cible est 5 ou plus, la valeur est arrondie au supérieur.
- S'il est inférieur à 5, la valeur est tronquée à la précision spécifiée.
Pourquoi l'arrondi importe : un exemple réel
Dans les marchés financiers, l'arrondi peut influencer des millions de dollars en trading. Par exemple, la Bourse de Vancouver en 1982 tronquait les prix d'échange à trois décimales, entraînant une perte cumulative mensuelle d'environ 25 points. L'arrondi au lieu de la troncature donne des résultats bien plus précis.
# Exemple : Troncature vs Arrondi
import random
def tronquer(num):
return int(num * 1000) / 1000
arr = [random.uniform(0.01, 0.05) for _ in range(1_000_000)]
# Troncature
somme_tronquee = 0
for val in arr:
somme_tronquee = tronquer(somme_tronquee + val)
# Arrondi
somme_arrondie = 0
for val in arr:
somme_arrondie = round(somme_arrondie + val, 3)
print("Somme tronquée :", somme_tronquee)
print("Somme arrondie :", somme_arrondie)
Le total tronqué peut dévier de centaines d'unités, tandis que l'arrondi maintient l'écart à une fraction d'unité.
Cas d'usage courants
Arrondir des nombres à virgule flottante
# Arrondi de base print(round(10.60)) # 11 print(round(10.40)) # 10 print(round(10.3456, 2)) # 10.35 print(round(10.3445, 2)) # 10.34
Arrondir des entiers
print(round(15)) # 15
Arrondir des nombres négatifs
print(round(-2.8)) # -3 print(round(-1.5)) # -2
Arrondir des tableaux NumPy
import numpy as np arr = [-0.341111, 1.455098989, 4.232323, -0.3432326, 7.626632, 5.122323] print(np.round(arr, 2)) # [-0.34 1.46 4.23 -0.34 7.63 5.12]
Utiliser le module Decimal pour la précision
Le module decimal offre un contrôle plus fin sur les modes d'arrondi.
import decimal
num = decimal.Decimal('15.456')
print(num.quantize(decimal.Decimal('0.00'), rounding=decimal.ROUND_HALF_UP)) # 15.46
Points clés à retenir
- Utilisez
round(nombre, ndigits)pour l'arrondi standard. - Omettre
ndigitsrenvoie un entier ; le fournir renvoie un flottant. - Pour les calculs financiers ou scientifiques critiques, envisagez
decimalpour un arrondi déterministe.
Python
- Fonctions lambda en Python : Guide pratique des fonctions anonymes
- Générateurs Python : itération efficace et cas d'utilisation avancés
- Les fermetures Python expliquées : comment les fonctions imbriquées capturent les variables
- Maîtriser les décorateurs Python : améliorer les fonctions avec des techniques expertes
- Surcharge d'opérateurs en C++ : Guide pratique avec exemples de code
- Les Fonctions en C++ Expliquées avec des Exemples de Code Pratiques
- Fonction Python print() : Guide pratique avec exemples
- Maîtriser la méthode strip() de Python : Guide complet et exemples pratiques
- Maîtriser str.count() de Python : Compter caractères et sous-chaînes avec exemples