Python round()-functie uitgelegd met praktische voorbeelden
Python round()-functie uitgelegd
De ingebouwde round()-functie is een vast onderdeel voor numeriek werk in Python. Het geeft een waarde terug afgerond op een gespecificeerd aantal decimalen, standaard het dichtstbijzijnde gehele getal wanneer geen precisie wordt opgegeven.
Syntaxis
round(getal, ndigits=None)
- getal – De numerieke waarde die afgerond moet worden.
- ndigits – Optioneel; het aantal decimalen om te behouden. Als weggelaten, is het resultaat een integer.
Return-waarde
Wanneer ndigits wordt weggelaten, retourneert round() een int. Wordt ndigits meegegeven, dan is het resultaat een float afgerond op die precisie.
Afrondingsregels
- Als het cijfer na de doelpositie 5 of groter is, wordt de waarde omhoog afgerond.
- Is het kleiner dan 5, wordt de waarde afgekapt op de gespecificeerde precisie.
Waarom afronden belangrijk is: een real-world voorbeeld
In financiële markten kan afronden miljoenen dollars in handel beïnvloeden. Bijvoorbeeld, de Vancouver Stock Exchange in 1982 knipte handelsprijzen af op drie decimalen, wat leidde tot een cumulatieve maandelijkse verlies van ongeveer 25 punten. Afronden in plaats van afkappen levert veel nauwkeurigere resultaten.
# Voorbeeld: Afkappen vs. Afronden
import random
def afkappen(num):
return int(num * 1000) / 1000
arr = [random.uniform(0.01, 0.05) for _ in range(1_000_000)]
# Afkappen
som_afkappen = 0
for val in arr:
som_afkappen = afkappen(som_afkappen + val)
# Afronden
som_afronden = 0
for val in arr:
som_afronden = round(som_afronden + val, 3)
print("Afgekapt totaal:", som_afkappen)
print("Afgerond totaal:", som_afronden)
Het afgekapte totaal kan afwijken met honderden eenheden, terwijl afronden de afwijking beperkt tot een fractie van een eenheid.
Veelvoorkomende toepassingen
Drijvende-komma getallen afronden
# Basis afronden print(round(10.60)) # 11 print(round(10.40)) # 10 print(round(10.3456, 2)) # 10.35 print(round(10.3445, 2)) # 10.34
Integers afronden
print(round(15)) # 15
Negatieve getallen afronden
print(round(-2.8)) # -3 print(round(-1.5)) # -2
Numpy arrays afronden
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]
Decimal module voor precisie gebruiken
De decimal-module biedt fijnere controle over afrondingsmodi.
import decimal
num = decimal.Decimal('15.456')
print(num.quantize(decimal.Decimal('0.00'), rounding=decimal.ROUND_HALF_UP)) # 15.46
Belangrijkste uitgangspunten
- Gebruik
round(getal, ndigits)voor standaard afronding. - Het weglaten van
ndigitsgeeft een integer terug; meegeven geeft een float. - Voor cruciale financiële of wetenschappelijke berekeningen, overweeg
decimalvoor deterministische afronding.
Python
- C++ Operator Overloading – Praktische Handleiding met Code‑Voorbeelden
- C++ Functies Uitgelegd met Praktische Codevoorbeelden
- Python Lambda Functies: Een praktische gids voor anonieme functies
- Python-generators: efficiënte iteratie en geavanceerde use cases
- Python-closures uitgelegd: hoe geneste functies variabelen vangen
- Python-decorators beheersen: functies verbeteren met expert-technieken
- Python print()-functie: Praktische handleiding met voorbeelden
- Python's strip()-methode beheersen: Uitgebreide handleiding & praktische voorbeelden
- Python's str.count() beheersen: Karakters & substrings tellen met voorbeelden
- Python `format()` strings beheersen met duidelijke voorbeelden
- Python's String.find()-methode beheersen: Syntaxis, voorbeelden & alternatieven