Heim >Backend-Entwicklung >Python-Tutorial >Einführung in den Unterschied zwischen Rundung in Python2 und Python3

Einführung in den Unterschied zwischen Rundung in Python2 und Python3

巴扎黑
巴扎黑Original
2017-08-21 14:44:512037Durchsuche

Die Methode „round()“ gibt den Dezimalpunkt des auf n Stellen gerundeten Werts zurück.

Syntax

Das Folgende ist die Syntax der Round()-Methode:

round( x [, n] )

Parameter

x – Dies ist ein numerischer Wert, der den Wert angibt, der formatiert werden muss

n – Dies ist ebenfalls ein numerischer Wert, der angibt, wie viele Stellen nach dem Dezimalpunkt beibehalten werden sollen

Rückgabewert

Diese Methode gibt den Dezimalpunkt des Werts zurück. Der ganzzahlige Teil wird gerundet und das zurückgegebene Ergebnis ist eine Gleitkommazahl.

Beispiel

Das folgende Beispiel zeigt die Verwendung der Methode „round()“

Wenn wir das obige Programm ausführen, werden die folgenden Ergebnisse erzeugt:
#!/usr/bin/python2
print "round(80.23456, 2) : ", round(80.23456, 2)
print "round(100.000056, 3) : ", round(100.000056, 3)
print "round(-100.000056, 3) : ", round(-100.000056, 3)

Der Unterschied zwischen Python3- und Python2-Versionen
round(80.23456, 2) : 80.23
round(100.000056, 3) : 100.0
round(-100.000056, 3) : -100.0

Python2 rundet x auf das nächste Vielfache von 0 entfernt, z. B. Round(0.5)=1, Round( -0.5)=-1;

Python3 rundet x auf das nächste gerade Vielfache, z. B als Runde(0,5)=0, Runde(1,5)=2,0, Runde(2,5)=2,0

Code:

Ausgabeergebnis:
#!/usr/bin/python2
print round(2.635, 2)
print round(2.645, 2)
print round(2.655, 2)
print round(2.665, 2)
print round(2.675, 2)

Fehler bei der Rundungsmethode
2.63
2.65
2.65
2.67
2.67

Anhand des obigen Beispiels können Sie feststellen, dass die Rundungsmethode nicht mit unserem Verständnis übereinstimmt. Tatsächlich handelt es sich hierbei nicht um einen Rundungsfehler die Konvertierung von Dezimalzahlen in computerinterne Binärzahlen bei der Eingabe. Darüber hinaus kann dieses Problem nicht mit begrenzter Genauigkeit gelöst werden und muss auch nicht gelöst werden.

Das Dezimalmodul von Python kann zur Lösung dieses Problems verwendet werden.

Wenn Sie nicht runden müssen, können Sie auch unsere bekannteste print("%.2f" % 2.675)-Methode verwenden.

Das obige ist der detaillierte Inhalt vonEinführung in den Unterschied zwischen Rundung in Python2 und Python3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn