Die nächste Ganzzahl-Funktion in Python

February 21

Vielleicht bescheinigt seinem Ruf als eine leistungsfähige und flexible Programmiersprache, enthält Python viele interne Bibliotheken, um allgemeine oder komplexen Computer- und mathematische Aufgaben zu automatisieren. Die "Mathematik-Bibliothek" enthält viele Methoden um typische Berechnungen oder Operationen wie z. B. die Rundung zu erreichen. Jedoch die Dezimalzahlen in Python Runden nicht auf eine ganze Zahl, sondern eine ganze Dezimalzahl Runden. Konvertieren in ganzen Zahlen erfordert die Verwendung von Python-Math-Bibliothek zusammen mit einigen eingebauten Konvertierung-Bibliotheken.

Python und Rundung

Die Python-Mathematik-Bibliothek bietet ein Bündel von Methoden, die nützlich für Dezimalzahlen auf ganze Zahlen gerundet. Sie können Runden einer Zahl auf traditionelle Weise (auf die nächste ganze Zahl für Bruchteile an.4 oder niedriger und für Teile.5 und größer) mit der "round()"-Methode. Das folgende Beispiel zeigt wie die round-Methode mit Dezimalzahlen gerundet:

f = 5,455

Round(f)

5.0

Runde (f, 2) //rounds auf 2 Dezimalstellen

5,46

Decke und Boden-Methoden

Im Rahmen der Mathematik-Bibliothek stellen die "floor()" und "ceil()" Methoden einen einzigartigen Weg zum Runden von Dezimalzahlen, die Sie in bestimmte Berechnungen nützlich sein können. Die Floor-Methode rundet auf die nächste ganze Zahl in Richtung negativer Unendlichkeit (unabhängig von den decimal-Wert) und die Decke-Methode am wenigsten wird Aufrunden auf die nächste ganze Zahl in Richtung positiver Unendlichkeit. Das folgende Beispiel zeigt, wie die beiden Funktionen arbeiten:

Import-math

f = 3,5

g =-3.5

Floor(f)

3.0

ceil(3.5)

4.0

Floor(g)

-4.0

ceil(g)

-3.0

Abrunden und Ganzzahlen

Die Rundung Vorgänge illustriert zu zeigen, wie diese Funktionen arbeiten, aber sie zeigen auch eine Nebenwirkung: in Python-Versionen vor 3.0, Nachkommastellen gerundet nicht zu zahlen, aber Dezimalstellen runden. Wegen der Art, die durch Computer-Architekturen Dezimalzahlen dargestellt werden, könnte dies Probleme in präzise Berechnungen verursachen, wo Programmierer Ganzzahlen erfordern. Sie können auf eine ganze Zahl, die mit der "int()"-Methode, wie in diesem Beispiel eine Gleitzahl konvertieren:

f = 3,5

Round(f)

4.0

int(Round(f))

4

Beispielmethode

Mit diesem Wissen können Sie eine Methode, um Dezimalzahlen auf ganze Zahlen runden leicht entwickeln. Die folgenden Beispiele zeigen kurze Beispiele für Methoden, die bestimmen, Boden und Decke einer Zahl als Integer und ein anderes, das auf eine Dezimalstelle Benutzer festgelegt (oder eine ganze Zahl) runden:

Import-math

DEF integerFloor(x):

... int(floor(x)) zurück

DEF integerCeiling(x):

... int(ceil(x)) zurück

DEF Rundung (X, Dec):

... wenn Dec == 0:

... int(round(x)) zurück

... sonst:

... zurück (Runde (x, Dec))