Ausführliche Erklärung der runden Rundung – der Unterschied zwischen Python2- und Python3-Versionen

高洛峰
Freigeben: 2016-10-17 16:05:43
Original
1891 Leute haben es durchsucht

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 Ziffern beibehalten werden sollen nach dem Dezimalpunkt

Rückgabewert

Diese Methode gibt den Dezimalpunkt des auf n Stellen gerundeten Werts x zurück

PS: Round rundet die eingehenden Daten ab. Wenn dies nicht der Fall ist übergeben, der Standardwert ist 0 (dh der ganzzahlige Teil bleibt erhalten). Wenn .ngigits


Beispiel

Das folgende Beispiel zeigt die Round( )-Methode

#!/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)
Nach dem Login kopieren


Wenn wir das obige Programm ausführen, werden die folgenden Ergebnisse erzeugt:

round(80.23456, 2) : 80.23
round(100.000056, 3) : 100.0
round(-100.000056, 3) : -100.0
Nach dem Login kopieren


Der Unterschied zwischen Python3- und Python2-Versionen


Python2 rundet x von 0 weg auf das nächste Vielfache, wie zum Beispiel Round(0.5)=1, Round(-0.5)=-1;

Python3 rundet x auf das nächste gerade Vielfache, wie etwa Runde(0,5)=0, Runde(1,5) =2,0, Runde(2,5)=2,0

Code:

#!/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)
Nach dem Login kopieren

Ausgabeergebnis:

2.63
2.65
2.65
2.67
2.67
Nach dem Login kopieren


Runde Methodendefekte


Anhand des obigen Beispiels können Sie feststellen, dass die Rundungsmethode ähnlich aussieht wie: Unser Verständnis ist anders. Tatsächlich handelt es sich hierbei nicht um einen Rundungsfehler. Dies ist hauptsächlich auf die Konvertierung von Dezimalzahlen in computerinterne Binärzahlen zurückzuführen Darüber hinaus kann dieses Problem nicht mit begrenzter Präzision 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.


Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!