Den nærmeste heltalsfunktion i Python

Python, som måske vidner om sit ry som et kraftfuldt og fleksibelt programmeringssprog, indeholder mange interne biblioteker til at automatisere almindelige eller komplekse beregningsmæssige og matematiske opgaver. "Matematikbiblioteket" indeholder mange metoder til at udføre typiske beregninger eller operationer såsom afrunding. Afrunding af decimaler i Python afrundes dog ikke til et heltal, men en hel decimal. Konvertering til heltal kræver brug af Python-matematikbiblioteket sammen med brugen af ​​nogle indbyggede konverteringsbiblioteker.

Python og afrunding

Python-matematikbiblioteket tilbyder en pakke af metoder, der er nyttige til at afrunde decimaltal til hele tal. Du kan runde et tal på den traditionelle måde (ned til det nærmeste hele tal for brøkdele ved 0,4 eller lavere og op for dele 0,5 og større) ved at bruge "round()"-metoden. Følgende eksempel viser, hvordan man afrunder decimaltal ved hjælp af afrundingsmetoden:

Dagens video

f = 5,455 >>>rund (f) 5,0 >>>rund (f, 2) //runder til 2 decimaler 5,46

Loft- og gulvmetoder

Som en del af matematikbiblioteket giver metoderne "gulv()" og "loft()" en unik måde til afrunding af decimaler, som du kan finde nyttig i visse beregninger. Etagemetoden runder ned til det mindste nærmeste hele tal mod negativ uendelighed (uanset decimalværdien), og loftmetoden runder op til nærmeste hele tal mod positivt uendelighed. Følgende eksempel viser, hvordan de to funktioner fungerer:

import matematik >>>f = 3,5 >>>g = -3,5 >>>gulv (f) 3,0 >>>loft (3,5) 4,0 >>>gulv (g) -4,0 >>>loft (g) -3,0

Afrunding og heltal

De illustrerede afrundingsoperationer viser, hvordan disse funktioner fungerer, men de viser også en bivirkning: I Python-versioner før 3.0 afrundes decimaler afrundet ikke til heltal, men decimaler. På grund af den måde, decimaler repræsenteres af computerarkitekturer, kan dette forårsage problemer i højpræcisionsberegninger, hvor programmører kan kræve heltal. Du kan konvertere et flydende tal til et heltal ved at bruge "int()"-metoden, som i dette eksempel:

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

Eksempelmetode

Ved at bruge denne viden kan du udvikle en metode til nemt at afrunde decimaler til heltal. De følgende eksempler viser korte eksempler på metoder, der bestemmer gulvet og loftet for et tal som et heltal, og et andet, der afrundes til en brugerudpeget decimal (eller et heltal):

import matematik >>> def heltal Gulv (x):... return int (gulv (x)) >>>def integerCeiling (x):... return int (loft (x)) >>>def afrunding (x, dec):... hvis dec == 0:... return int (rund (x))... andet:... retur (rund (x, dec))