De dichtstbijzijnde geheeltallige functie in Python

Misschien getuigend van zijn reputatie als een krachtige en flexibele programmeertaal, bevat Python veel interne bibliotheken om veelvoorkomende of complexe rekenkundige en wiskundige taken te automatiseren. De "wiskundebibliotheek" bevat veel methoden om typische berekeningen of bewerkingen zoals afronding uit te voeren. Het afronden van decimalen in Python wordt echter niet afgerond op een geheel getal, maar op een geheel decimaal. Voor het converteren naar gehele getallen is het gebruik van de Python-wiskundebibliotheek vereist, samen met het gebruik van enkele ingebouwde conversiebibliotheken.

Python en afronding

De Python-wiskundebibliotheek biedt een pakket methoden die handig zijn voor het afronden van decimale getallen op hele getallen. U kunt een getal op de traditionele manier afronden (naar beneden naar het dichtstbijzijnde gehele getal voor breuken van .4 of lager, en naar boven voor delen van .5 en groter) met behulp van de "round()"-methode. Het volgende voorbeeld laat zien hoe u decimale getallen kunt afronden met behulp van de afrondingsmethode:

Video van de dag

f = 5,455 >>>afronding (f) 5,0 >>>afronding (f, 2) //rondt af op 2 decimalen 5,46

Plafond- en vloermethoden

Als onderdeel van de wiskundebibliotheek bieden de methoden "floor()" en "ceil()" een unieke manier om decimalen af ​​te ronden, wat handig kan zijn bij bepaalde berekeningen. De vloermethode rondt naar beneden af ​​op het minst dichtstbijzijnde gehele getal in de richting van negatief oneindig (ongeacht de decimale waarde), en de plafondmethode zal naar boven afronden op het dichtstbijzijnde gehele getal in de richting van positief oneindigheid. Het volgende voorbeeld laat zien hoe de twee functies werken:

import wiskunde >>>f = 3,5 >>>g = -3,5 >>>vloer (f) 3,0 >>>plafond (3,5) 4,0 >>>vloer (g) -4,0 >>>plafond (g) -3,0

Afronding en gehele getallen

De geïllustreerde afrondingsbewerkingen laten zien hoe deze functies werken, maar ze tonen ook een neveneffect: in Python-versies vóór 3.0 worden afgeronde decimalen niet afgerond op gehele getallen, maar op decimalen. Vanwege de manier waarop decimalen worden weergegeven door computerarchitecturen, kan dit problemen veroorzaken bij zeer nauwkeurige berekeningen waarbij programmeurs gehele getallen nodig hebben. U kunt een zwevend getal converteren naar een geheel getal met behulp van de "int()"-methode, zoals in dit voorbeeld:

f = 3,5 >>>ronde (f) 4,0 >>>int (ronde (f)) 4

Voorbeeldmethode:

Met behulp van deze kennis kun je een methode ontwikkelen om decimalen eenvoudig af te ronden naar gehele getallen. De volgende voorbeelden tonen korte voorbeelden van methoden die de onder- en bovengrens van een getal bepalen als een geheel getal, en een andere die wordt afgerond op een door de gebruiker aangewezen decimaal (of een geheel getal):

import wiskunde >>>def integerFloor (x):... return int (etage (x)) >>>def integerCeiling (x):... return int (ceil (x)) >>>def afronding (x, dec):... als dec == 0:... retour int (ronde (x))... anders:... retour (ronde (x, dec))