Python round()-Funktion erklärt mit praktischen Beispielen
Python round()-Funktion erklärt
Die eingebaute round()-Funktion ist ein Grundpfeiler für numerische Arbeiten in Python. Sie gibt einen Wert gerundet auf eine angegebene Anzahl Dezimalstellen zurück, standardmäßig auf die nächste Ganzzahl, wenn keine Genauigkeit angegeben wird.
Syntax
round(zahl, ndigits=None)
- zahl – Der zu rundende numerische Wert.
- ndigits – Optional; die Anzahl der beizubehaltenden Dezimalstellen. Wenn weggelassen, ist das Ergebnis eine Ganzzahl.
Rückgabewert
Wenn ndigits weggelassen wird, gibt round() einen int zurück. Wird ndigits angegeben, ist das Ergebnis ein float, der auf diese Genauigkeit gerundet ist.
Rundungsregeln
- Wenn die Ziffer nach der Zielstelle 5 oder größer ist, wird der Wert aufgerundet.
- Wenn sie kleiner als 5 ist, wird der Wert an der angegebenen Genauigkeit abgeschnitten.
Warum Rundung wichtig ist: Ein reales Beispiel
An Finanzmärkten kann Rundung Millionen von Dollar im Handel beeinflussen. Beispielsweise kürzte die Vancouver Stock Exchange 1982 Handelspreise auf drei Dezimalstellen, was zu einem kumulativen monatlichen Verlust von etwa 25 Punkten führte. Rundung statt Abschneiden liefert weitaus präzisere Ergebnisse.
# Beispiel: Abschneiden vs. Runden
import random
def abschneiden(num):
return int(num * 1000) / 1000
arr = [random.uniform(0.01, 0.05) for _ in range(1_000_000)]
# Abschneiden
summe_abgeschnitten = 0
for val in arr:
summe_abgeschnitten = abschneiden(summe_abgeschnitten + val)
# Runden
summe_gerundet = 0
for val in arr:
summe_gerundet = round(summe_gerundet + val, 3)
print("Abgeschnittene Summe:", summe_abgeschnitten)
print("Gerundete Summe:", summe_gerundet)
Die abgeschnittene Summe kann um hunderte Einheiten abweichen, während Rundung die Abweichung auf einen Bruchteil einer Einheit begrenzt.
Häufige Anwendungsfälle
Runden von Gleitkommazahlen
# Grundlegendes Runden print(round(10.60)) # 11 print(round(10.40)) # 10 print(round(10.3456, 2)) # 10.35 print(round(10.3445, 2)) # 10.34
Runden von Ganzzahlen
print(round(15)) # 15
Runden negativer Zahlen
print(round(-2.8)) # -3 print(round(-1.5)) # -2
Runden von NumPy-Arrays
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]
Verwendung des Decimal-Moduls für Präzision
Das decimal-Modul bietet feinere Kontrolle über Rundungsmodi.
import decimal
num = decimal.Decimal('15.456')
print(num.quantize(decimal.Decimal('0.00'), rounding=decimal.ROUND_HALF_UP)) # 15.46
Wichtigste Erkenntnisse
- Verwenden Sie
round(zahl, ndigits)für Standardrundung. - Das Weglassen von
ndigitsgibt eine Ganzzahl zurück; die Angabe gibt einen Float zurück. - Für kritische finanzielle oder wissenschaftliche Berechnungen ziehen Sie
decimalfür deterministisches Runden in Betracht.
Python
- Python Lambda-Funktionen: Praxisleitfaden zu anonymen Funktionen
- Python Generatoren: Effiziente Iteration und fortgeschrittene Anwendungsfälle
- Python Closures erklärt: Wie verschachtelte Funktionen Variablen erfassen
- Python Decorators meistern: Funktionen mit Experten-Techniken erweitern
- C++ Operator‑Overloading: Praktischer Leitfaden mit Code‑Beispielen
- C++-Funktionen erklärt: Mit praktischen Code-Beispielen
- Python print()-Funktion: Praktischer Leitfaden mit Beispielen
- Pythons strip()-Methode meistern: Umfassender Leitfaden & Praxisbeispiele
- Pythons str.count(): Zeichen & Teilstrings zählen mit Beispielen
- Python format()-Strings meistern mit klaren Beispielen