Närmaste heltalsfunktion i Python

click fraud protection

Python, som kanske vittnar om dess rykte som ett kraftfullt och flexibelt programmeringsspråk, innehåller många interna bibliotek för att automatisera vanliga eller komplexa beräknings- och matematiska uppgifter. "Mattebiblioteket" innehåller många metoder för att utföra typiska beräkningar eller operationer såsom avrundning. Avrundning av decimaler i Python avrundar dock inte till ett heltal, utan en hel decimal. Konvertering till heltal kräver användning av Pythons matematikbibliotek tillsammans med användning av vissa inbyggda konverteringsbibliotek.

Python och avrundning

Python matematikbibliotek erbjuder ett paket med metoder som är användbara för att avrunda decimaltal till heltal. Du kan avrunda ett tal på traditionellt sätt (nedåt till närmaste heltal för bråkdelar vid 0,4 eller lägre, och uppåt för delar 0,5 och större) med metoden "round()". Följande exempel visar hur man avrundar decimaltal med avrundningsmetoden:

Dagens video

f = 5,455 >>>runda (f) 5,0 >>>runda (f, 2) //rundar till 2 decimaler 5,46

Tak- och golvmetoder

Som en del av matematikbiblioteket ger metoderna "floor()" och "ceil()" ett unikt sätt att avrunda decimaler som du kan ha nytta av i vissa beräkningar. Golvmetoden avrundas nedåt till det minsta närmaste heltal mot negativ oändlighet (oavsett decimalvärdet), och takmetoden avrundas uppåt till närmaste heltal mot positivt oändlighet. Följande exempel visar hur de två funktionerna fungerar:

importera matematik >>>f = 3,5 >>>g = -3,5 >>>golv (f) 3,0 >>>tak (3,5) 4,0 >>>golv (g) -4,0 >>>tak (g) -3,0

Avrundning och heltal

De illustrerade avrundningsoperationerna visar hur dessa funktioner fungerar, men de visar också en bieffekt: i Python-versioner före 3.0 avrundar decimaler avrundade inte till heltal, utan decimaler. På grund av hur decimaler representeras av datorarkitekturer kan detta orsaka problem i högprecisionsberäkningar där programmerare kan kräva heltal. Du kan konvertera ett flytande tal till ett heltal med metoden "int()", som i det här exemplet:

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

Exempelmetod

Med hjälp av denna kunskap kan du utveckla en metod för att enkelt runda decimaler till heltal. Följande exempel visar korta exempel på metoder som bestämmer golvet och taket för ett tal som ett heltal, och ett annat som avrundas till en användarangiven decimal (eller ett heltal):

importera matematik >>>def heltalFloor (x):... return int (golv (x)) >>>def integerCeiling (x):... return int (tak (x)) >>>def avrundning (x, dec):... om minskning == 0:... return int (runda (x))... annan:... retur (runda (x, minskning))