I denne artikkelen vil vi diskutere Hvordan avrunde tall i Python med passende metoder og eksempler på Hvordan runde opp i Python .
Eksempel:
Input: 3.5 Output: 4 Explanation: Nearest whole number. Input: 3.74 Output: 3.7 Explanation: Rounded to one decimal place.>
Rund opp tall i Python
Å avrunde et tall betyr å gjøre tallet enklere ved å holde verdien intakt, men nærmere neste tall. Det er forskjellige metoder for å avrunde tall i Python her, vi diskuterer noen som vanligvis brukes til Hvordan runde opp i Python , Nedenfor er følgende punkter som vil bli dekket i denne artikkelen med Python:
- Bruker den innebygde round()-funksjonen
- Ved hjelp av Trunkering konsept
- Ved hjelp av Math.ceil() og Math.floor() funksjoner
- Ved hjelp av math.tak
- Ved hjelp av matematikk.etasje
- Bruker
numpy>Modul - Bruker Avrunding Bias konsept
- Avrunding halvveis fra null i Python
Runde tall i Python u synge Innebygd rund() Funksjon
I Python er det en innebygd round() funksjon som runder av et tall til det gitte antall sifre. Funksjonen round() godtar to numeriske argumenter, n og n sifre, og returnerer deretter tallet n etter å ha rundet det av til n sifre. Hvis antall sifre ikke er oppgitt for avrunding, runder funksjonen av det gitte tallet n til nærmeste heltall.
for loop bash
Eksempel: I dette eksemplet viser koden nedenfor 'round()'-funksjonen for heltall og flyttall. Den illustrerer også avrunding til to desimaler, og viser tilfeller der neste siffer er 5, større enn 5 og mindre enn 5.
python3
# For integers> print>(>round>(>11>))> # For floating point> print>(>round>(>22.7>))> # if the second parameter is present> # when the (ndigit+1)th digit is =5> print>(>round>(>4.465>,>2>))> > # when the (ndigit+1)th digit is>=5> print>(>round>(>4.476>,>2>))> > # when the (ndigit+1)th digit is <5> print>(>round>(>4.473>,>2>))> |
>
>
Produksjon:
11 23 4.46 4.48 4.47>
Runde tall i Python u synge Trunkering konsept
I denne funksjonen erstattes hvert siffer etter en gitt posisjon med 0. python avkorte() funksjon kan brukes med positive så vel som negative tall. Trunkeringsfunksjonen kan implementeres på følgende måte:
- Multipliser tallet med 10^p (10 hevet til pthpotens) for å flytte desimaltegnet p til høyre.
- Tar heltallsdelen av det nye tallet ved å bruke int().
- Ved å flytte desimalplassen p plasseres tilbake til venstre ved å dele på 10^p.
python3
# defining truncate function> # second argument defaults to 0> # so that if no argument is passed> # it returns the integer part of number> def> truncate(n, decimals>=> 0>):> >multiplier>=> 10> *>*> decimals> >return> int>(n>*> multiplier)>/> multiplier> print>(truncate(>16.5>))> print>(truncate(>->3.853>,>1>))> print>(truncate(>3.815>,>2>))> # we can truncate digits towards the left of the decimal point> # by passing a negative number.> print>(truncate(>346.8>,>->1>))> print>(truncate(>->2947.48>,>->3>))> |
>
>
Produksjon:
16.0 -3.8 3.81 340.0 -2000.0>
Runde tall i Python u synge Math.ceil() og Math.floor() funksjoner
Matte . tak() : Denne funksjonen returnerer det nærmeste heltall som er større enn eller lik et gitt tall.
Math.floor() : Denne funksjonen returnerer det nærmeste heltall mindre enn eller lik et gitt tall.
Eksempel :I dette eksemplet bruker koden nedenfor `math`-biblioteket til å beregne takverdier for positive og negative desimaler med `math.ceil` og gulvverdier med `math.floor`. Utgangene er 5, 0, 2 og -1 for de respektive tilfellene.
python3
# import math library> import> math> # ceil value for positive> # decimal number> print>(math.ceil(>4.2>))> # ceil value for negative> # decimal number> print>(math.ceil(>->0.5>))> # floor value for decimal> # and negative number> print>(math.floor(>2.2>))> print>(math.floor(>->0.5>))> |
>
>
Produksjon:
5 0 2 -1>
Runde tall i Python u sing math.ceil
Å runde opp et tall innebærer å flytte desimaltegnet til høyre, runde opp og deretter flytte det tilbake til venstre for presisjon ved å bruke ` math.ceil() ` og multiplikasjons-/divisjonsoperasjoner.
Eksempel :I dette eksemplet definerer koden nedenfor en 'round_up'-funksjon ved å bruke 'matematikk'-biblioteket, som avrunder et tall til et spesifisert desimalsted. Den bruker multiplikasjon, avrunding med `math.ceil()` og divisjon for presisjon. Positive og negative verdier testes for avrunding.
python3
# import math library> import> math> # define a function for> # round_up> def> round_up(n, decimals>=> 0>):> >multiplier>=> 10> *>*> decimals> >return> math.ceil(n>*> multiplier)>/> multiplier> # passing positive values> print>(round_up(>2.1>))> print>(round_up(>2.23>,>1>))> print>(round_up(>2.543>,>2>))> # passing negative values> print>(round_up(>22.45>,>->1>))> print>(round_up(>2352>,>->2>))> |
>
>
Produksjon:
3.0 2.3 2.55 30.0 2400.0>
Vi kan følge diagrammet nedenfor for å forstå runde opp og runde ned. Rund opp til høyre og ned til venstre.

Avrunding oppover runder alltid et tall til høyre på talllinjen og avrunding nedover runder alltid et tall til venstre på talllinjen.
Runde tall i Python u synge matematikk.etasje
I Rounding Down rundes et tall ned til et spesifisert antall sifre. Avrundingsfunksjonen kan implementeres på følgende måte:
- Først flyttes desimaltegnet i n til riktig antall plasser til høyre ved å multiplisere n med 10 ** desimaler.
- Den nye verdien rundes opp til nærmeste heltall ved hjelp av math.floor() .
- Til slutt flyttes desimaltegnet tilbake til venstre ved å dele med 10 ** desimaler.
python3
import> math> # defining a function for> # round down.> def> round_down(n, decimals>=>0>):> >multiplier>=> 10> *>*> decimals> >return> math.floor(n>*> multiplier)>/> multiplier> # passing different values to function> print>(round_down(>2.5>))> print>(round_down(>2.48>,>1>))> print>(round_down(>->0.5>))> |
>
>
Produksjon:
2.0 2.4 -1.0>
Runde tall i Python u syng Numpy Module
NumPy-modulen i Python gir numpy.round()>funksjon å avrunde tall. Denne funksjonen runder av hvert element i en matrise til nærmeste heltall eller til det angitte antall desimaler.
Eksempel: I dette eksemplet bruker koden nedenfor NumPy-modulen til å lage en matrise `arr` og avrunder hvert element til nærmeste heltall (`rounded_integers`) og til to desimaler (`rounded_decimals`). Resultatene skrives deretter ut for visning.
Python3
import> numpy as np> # Creating an array> arr>=> np.array([>1.234>,>2.567>,>3.789>])> # Rounding each element to the nearest integer> rounded_integers>=> np.>round>(arr)> # Rounding each element to two decimal places> rounded_decimals>=> np.>round>(arr, decimals>=>2>)> # Displaying the results> print>(>'Nearest integer:'>, rounded_integers)> print>(>'Decimal places:'>, rounded_decimals)> |
>
>
Utgang:
Nearest integer: [1. 3. 4.] Decimal places: [1.23 2.57 3.79]>
Runde tall i Python u synge Avrundingsskjevhet konsept.
Konseptet symmetri introduserer begrepet avrundingsskjevhet, som beskriver hvordan avrunding påvirker numeriske data i et datasett.
Avrundingsstrategien har en runde mot positiv uendelig skjevhet, da verdien alltid rundes opp i retning av positiv uendelig. På samme måte har avrundingsstrategien en runde mot negativ uendelig skjevhet. Trunkeringsstrategien har en runde mot negativ uendelig skjevhet på positive verdier og en runde mot positiv uendelig for negative verdier. Avrundingsfunksjoner med denne oppførselen sies å ha en avrunding mot null skjevhet, generelt.
a) Avrunding halvparten opp konsept i Python
Avrundingen halvveis opp runder hvert tall til nærmeste tall med den angitte presisjonen og bryter båndene ved å runde opp.
Avrunding halvveis opp-strategien implementeres ved å flytte desimaltegnet til høyre med ønsket antall plasser. I dette tilfellet må vi bestemme om sifferet etter det forskjøvede desimalpunktet er mindre enn eller større enn lik 5.
Vi kan legge til 0,5 til verdien som er forskjøvet og deretter runde den ned med math.floor()-funksjonen.
Implementering av round_half_up() funksjon:
Eksempel: I dette eksemplet definerer koden nedenfor `round_half_up`, en tilpasset avrundingsfunksjon som bruker metoden round half up med `math.floor()` for presisjon. Demonstrasjoner inkluderer positive og negative tall med forskjellige desimaler.
python3
import> math> # defining round_half_up> def> round_half_up(n, decimals>=>0>):> >multiplier>=> 10> *>*> decimals> >return> math.floor(n>*> multiplier>+> 0.5>)>/> multiplier> # passing different values to the function> print>(round_half_up(>1.28>,>1>))> print>(round_half_up(>->1.5>))> print>(round_half_up(>->1.225>,>2>))> |
>
>
Produksjon:
1.3 -1.0 -1.23>
b) Avrunding halvt ned konsept i Python
Dette runder av til nærmeste tall som ligner på avrunding halvveis opp-metoden, forskjellen er at den bryter båndene ved å avrunde til det minste av de to tallene. Avrunding halvt ned-strategi implementeres ved å erstatte math.floor() i round_half_up()-funksjonen med math.ceil() og deretter ved å trekke fra 0,5 i stedet for å legge til.
Implementering av round_half_down() funksjon:
I dette eksemplet definerer koden nedenfor 'round_half_down' ved å bruke 'matematikk'-biblioteket for å oppnå round-half-down-adferd. Den bruker multiplikasjon, subtraksjon og `math.ceil()` for å avrunde mot null. Testtilfeller inkluderer positive og negative desimaler, avrunding til én desimal.
python3
# import math library> import> math> # defining a function> # for round_half_down> def> round_half_down(n, decimals>=>0>):> >multiplier>=> 10> *>*> decimals> >return> math.ceil(n>*> multiplier>-> 0.5>)>/> multiplier> # passing different values to the function> print>(round_half_down(>2.5>))> print>(round_half_down(>->2.5>))> print>(round_half_down(>2.25>,>1>))> |
>
>
Produksjon:
2.0 -3.0 2.2>
Avrunding halvveis fra null i Python
I Avrunding halvveis fra null må vi starte som vanlig med å flytte desimaltegnet til høyre et gitt antall plasser og så legge merke til sifferet(d) umiddelbart til høyre for desimaltallet i det nye tallet. Det er fire saker å vurdere:
- Hvis n er positiv og d>= 5, rund opp
- Hvis n er positiv og d = 5, rund ned
- Hvis n er negativ og d>= 5, rund ned
- Hvis n er negativ og d <5, rund opp
Etter avrunding i henhold til reglene nevnt ovenfor, kan vi flytte desimaltallet tilbake til venstre.
- Avrunder halvparten til partall: Det er en måte å redusere avrundingsskjevhet mens vi avrunder verdier i et datasett. Vi kan ganske enkelt avrunde bånd til nærmeste partall med ønsket presisjon. Avrunding halv til jevn strategi er strategien som brukes av Pythons innebygde runde(). De desimalklasse gir støtte for rask korrekt avrundet desimal flytekomma-aritmetikk. Dette gir flere fordeler i forhold til flytedatatypen. Standard avrundingsstrategi i desimalmodulen er ROUND_HALF_EVEN.
Eksempel: I dette eksemplet bruker koden nedenfor 'Desimal'-funksjonen fra 'desimal'-biblioteket for å representere desimaltall nøyaktig. Det står i kontrast til å lage et 'desimalt' objekt fra en streng og direkte fra et flyttall. Funksjonen 'quantize()' brukes deretter for å avrunde med spesifiserte desimaler, og demonstrerer presisjon i desimalaritmetikk.
python3
# import Decimal function from> # decimal library> from> decimal>import> Decimal> print>(Decimal(>'0.1'>))> print>(Decimal(>0.1>))> # Rounding a Decimal number is> # done with the .quantize() function> # '1.0' in .quantize() determines the> # number of decimal places to round the number> print>(Decimal(>'1.65'>).quantize(Decimal(>'1.0'>)))> print>(Decimal(>'1.675'>).quantize(Decimal(>'1.00'>)))> |
>
>
Produksjon:
0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.68>