Python, som kanskje vitner om sitt rykte som et kraftig og fleksibelt programmeringsspråk, inneholder mange interne biblioteker for å automatisere vanlige eller komplekse beregnings- og matematiske oppgaver. "Mattebiblioteket" inneholder mange metoder for å utføre typiske beregninger eller operasjoner som avrunding. Avrunding av desimaler i Python runder imidlertid ikke av til et heltall, men en hel desimal. Konvertering til heltall krever bruk av Python matematiske bibliotek sammen med bruk av noen innebygde konverteringsbiblioteker.
Python og avrunding
Python matematiske bibliotek tilbyr en pakke med metoder som er nyttige for å avrunde desimaltall til hele tall. Du kan runde et tall på tradisjonell måte (ned til nærmeste hele tall for brøkdeler ved 0,4 eller lavere, og opp for deler 0,5 og større) ved å bruke "round()"-metoden. Følgende eksempel viser hvordan du runder av desimaltall ved hjelp av avrundingsmetoden:
Dagens video
f = 5,455 >>>runde (f) 5,0 >>>runde (f, 2) //rundes til 2 desimaler 5,46
Tak- og gulvmetoder
Som en del av matematikkbiblioteket gir metodene "gulv()" og "tak()" en unik måte for avrunding av desimaler som du kan finne nyttig i visse beregninger. Gulvmetoden rundes ned til det minste nærmeste hele tall mot negativ uendelig (uavhengig av desimalverdien), og takmetoden vil runde opp til nærmeste hele tall mot positivt evighet. Følgende eksempel viser hvordan de to funksjonene fungerer:
importer matematikk >>>f = 3,5 >>>g = -3,5 >>>gulv (f) 3,0 >>>tak (3,5) 4,0 >>>gulv (g) -4,0 >>>tak (g) -3,0
Avrunding og heltall
Avrundingsoperasjonene som er illustrert viser hvordan disse funksjonene fungerer, men de viser også en bieffekt: i Python-versjoner før 3.0 avrundes ikke desimaler avrundet til heltall, men desimaler. På grunn av måten desimaler er representert ved datamaskinarkitekturer, kan dette forårsake problemer i høypresisjonsberegninger der programmerere kan kreve heltall. Du kan konvertere et flytende tall til et heltall ved å bruke "int()"-metoden, som i dette eksemplet:
f = 3,5 >>>runde (f) 4,0 >>>int (runde (f)) 4
Eksempelmetode
Ved å bruke denne kunnskapen kan du enkelt utvikle en metode for å runde desimaler til heltall. Følgende eksempler viser korte eksempler på metoder som bestemmer gulvet og taket til et tall som et heltall, og et annet som avrundes til en brukerangitt desimal (eller et heltall):
importere matematikk >>>def heltallFloor (x):... return int (gulv (x)) >>>def heltallCeiling (x):... return int (tak (x)) >>>def avrunding (x, dec):... hvis dec == 0:... return int (runde (x))... ellers:... retur (runde (x, felling))