logo

Ako zaokrúhľovať čísla v Pythone?

V tomto článku budeme diskutovať o tom, ako zaokrúhľovať čísla v Pythone s vhodnými metódami a príkladmi Ako zaokrúhliť nahor Python .

Príklad:



  Input:   3.5   Output:   4   Explanation:   Nearest whole number.   Input:   3.74   Output:   3.7   Explanation:   Rounded to one decimal place.>

Zaokrúhliť čísla v Pythone

Zaokrúhlenie čísla znamená zjednodušenie čísla tým, že jeho hodnota zostane nedotknutá, ale bližšie k ďalšiemu číslu. Existujú rôzne metódy na zaokrúhľovanie čísel v Pythone, tu diskutujeme o niektorých všeobecne používaných Ako zaokrúhliť v Pythone , Nižšie sú uvedené nasledujúce body, ktoré budú zahrnuté v tomto článku pomocou Pythonu:

  • Použitie vstavanej funkcie round().
  • Použitím Skrátenie koncepcie
  • Použitím Math.ceil() a Math.floor() funkcie
  • Použitím math.ceil
  • Použitím matematika.podlaha
  • Pomocou numpy> modul
  • Pomocou Zaokrúhľovanie Koncept zaujatosti
  • Zaokrúhlenie na polovicu od nuly v Pythone

Zaokrúhlené čísla v jazyku Python u spievať Vstavaný okrúhly() Funkcia

V Pythone je vstavaný funkcia round(). ktorý zaokrúhli číslo na daný počet číslic. Funkcia round() akceptuje dva číselné argumenty, n a n číslic, a potom vráti číslo n po zaokrúhlení na n číslic. Ak nie je uvedený počet číslic na zaokrúhlenie, funkcia zaokrúhli dané číslo n na najbližšie celé číslo.

xor cpp

Príklad: V tomto príklade nižšie uvedený kód predstavuje funkciu `round()` pre celé čísla a čísla s pohyblivou rádovou čiarkou. Znázorňuje tiež zaokrúhľovanie na dve desatinné miesta, čo demonštruje prípady, keď je ďalšia číslica 5, väčšia ako 5 a menšia ako 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>))>

>

>

Výkon:

11 23 4.46 4.48 4.47>

Zaokrúhlené čísla v jazyku Python u spievať Skrátenie koncepcie

V tejto funkcii je každá číslica po danej pozícii nahradená 0. python skrátiť () funkciu možno použiť s kladnými aj zápornými číslami. Funkciu skrátenia je možné implementovať nasledujúcim spôsobom:

  • Vynásobením čísla 10^p (10 zvýšené na pthmocnina) na posunutie desatinnej čiarky o p miest doprava.
  • Prevzatie celej časti tohto nového čísla pomocou int().
  • Posun desatinného miesta p miest späť doľava vydelením 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>))>

>

>

Výkon:

16.0 -3.8 3.81 340.0 -2000.0>

Zaokrúhlené čísla v jazyku Python u spievať Math.ceil() a Math.floor() funkcie

Matematika . ceil() : Táto funkcia vráti najbližšie celé číslo, ktoré je väčšie alebo rovné danému číslu.
Math.floor() : Táto funkcia vráti najbližšie celé číslo menšie alebo rovné danému číslu.

Príklad :V tomto príklade kód uvedený nižšie využíva knižnicu „math“ na výpočet maximálnych hodnôt pre kladné a záporné desatinné miesta s hodnotou „math.ceil“ a minimálne hodnoty s hodnotou „math.floor“. Výstupy sú 5, 0, 2 a -1 pre príslušné prípady.

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>))>

>

>

Výkon:

5 0 2 -1>

Zaokrúhlené čísla v jazyku Python u spievať matematiku.ceil

Zaokrúhľovanie čísla nahor zahŕňa posunutie desatinnej čiarky doprava, zaokrúhlenie nahor a následné posunutie späť doľava pre presnosť pomocou ` math.ceil() ` a operácie násobenia/delenia.

Príklad :V tomto príklade nižšie uvedený kód definuje funkciu `round_up` pomocou knižnice `math`, ktorá zaokrúhľuje číslo na zadané desatinné miesto. Pre presnosť využíva násobenie, zaokrúhľovanie pomocou `math.ceil()` a delenie. Kladné a záporné hodnoty sa testujú na zaokrúhľovanie.

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>))>

>

>

Výkon:

3.0 2.3 2.55 30.0 2400.0>

Môžeme postupovať podľa nižšie uvedeného diagramu, aby sme pochopili zaokrúhlenie nahor a nadol. Zaokrúhlite hore doprava a dole doľava.

Pochopenie zaokrúhľovania nahor a nadol

Zaokrúhľovaním nahor sa vždy zaokrúhli číslo na číselnej osi doprava a zaokrúhlením nadol sa vždy zaokrúhli číslo na číselnej osi doľava.

Zaokrúhlené čísla v jazyku Python u spievať matematika.podlaha

Pri zaokrúhľovaní nadol sa číslo zaokrúhľuje nadol na určený počet číslic. Funkciu zaokrúhľovania nadol možno implementovať nasledujúcim spôsobom:

  • Najprv sa desatinná čiarka v n posunie na správny počet miest doprava vynásobením n 10 ** desatinnými miestami.
  • Nová hodnota sa zaokrúhli nahor na najbližšie celé číslo pomocou math.floor() .
  • Nakoniec sa desatinná čiarka posunie späť doľava vydelením 10 ** desatinnými miestami.

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>))>

>

>

Výkon:

2.0 2.4 -1.0>

Zaokrúhlené čísla v jazyku Python u spievať Numpy Module

Modul NumPy v Pythone poskytuje numpy.round()>funkciu zaokrúhliť čísla. Táto funkcia zaokrúhli každý prvok poľa na najbližšie celé číslo alebo na zadaný počet desatinných miest.

Príklad: V tomto príklade kód uvedený nižšie používa modul NumPy na vytvorenie poľa „arr“ a zaokrúhli každý prvok na najbližšie celé číslo („rounded_integers“) a na dve desatinné miesta („rounded_decimals“). Výsledky sa potom vytlačia na zobrazenie.

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)>

>

>

Výkon :

Nearest integer: [1. 3. 4.] Decimal places: [1.23 2.57 3.79]>

Zaokrúhlené čísla v jazyku Python u spievať Zaokrúhľovanie koncepcie.

Koncept symetrie zavádza pojem skreslenia zaokrúhľovania, ktorý opisuje, ako zaokrúhľovanie ovplyvňuje číselné údaje v množine údajov.
Stratégia zaokrúhľovania má zaokrúhlenie smerom k kladnému nekonečnu, pretože hodnota je vždy zaokrúhlená nahor v smere kladného nekonečna. Podobne aj stratégia zaokrúhľovania nadol má zaokrúhlenie smerom k zápornému nekonečnu. Stratégia skrátenia má zaokrúhlenie smerom k zápornému nekonečnu pre kladné hodnoty a zaokrúhlenie smerom k kladnému nekonečnu pre záporné hodnoty. Hovorí sa, že funkcie zaokrúhľovania s týmto správaním majú vo všeobecnosti zaokrúhlenie smerom k nule.

a) Zaokrúhlenie na polovicu koncept v Pythone

Polovičné zaokrúhľovanie zaokrúhli každé číslo na najbližšie číslo so zadanou presnosťou a preruší remízu zaokrúhlením nahor.
Stratégia zaokrúhľovania na polovicu sa realizuje posunutím desatinnej čiarky doprava o požadovaný počet miest. V tomto prípade budeme musieť určiť, či číslica za posunutou desatinnou čiarkou je menšia alebo väčšia ako rovná 5.
K hodnote, ktorá je posunutá, môžeme pridať 0,5 a potom ju zaokrúhliť nadol pomocou funkcie math.floor().

Implementácia funkcie round_half_up():

Príklad: V tomto príklade nižšie uvedený kód definuje `round_half_up`, vlastnú funkciu zaokrúhľovania využívajúcu metódu round half up s `math.floor()` kvôli presnosti. Ukážky zahŕňajú kladné a záporné čísla s rôznymi desatinnými miestami.

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>))>

>

>

Výkon:

1.3 -1.0 -1.23>

b) Zaokrúhlenie na polovicu koncept v Pythone

Toto sa zaokrúhľuje na najbližšie číslo podobne ako pri metóde zaokrúhľovania na polovicu, rozdiel je v tom, že preruší remízu zaokrúhlením na menšie z dvoch čísel. Stratégia zaokrúhlenia o polovicu nadol sa implementuje nahradením math.floor() vo funkcii round_half_up() za math.ceil() a potom odčítaním 0,5 namiesto sčítania.

Implementácia funkcie round_half_down():

V tomto príklade nižšie uvedený kód definuje `round_half_down` pomocou knižnice `math` na dosiahnutie správania zaokrúhleného na polovicu. Na zaokrúhľovanie smerom k nule využíva násobenie, odčítanie a `math.ceil()`. Testovacie prípady zahŕňajú kladné a záporné desatinné miesta so zaokrúhlením na jedno desatinné miesto.

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>))>

>

>

Výkon:

2.0 -3.0 2.2>

Zaokrúhlenie na polovicu od nuly v Pythone

Pri zaokrúhľovaní na polovicu od nuly musíme začať ako zvyčajne posunutím desatinnej čiarky doprava o daný počet miest a potom si všimnúť číslicu (d) hneď napravo od desatinného miesta v novom čísle. Je potrebné zvážiť štyri prípady:

  • Ak je n kladné a d>= 5, zaokrúhlite nahor
  • Ak je n kladné a d = 5, zaokrúhlite nadol
  • Ak je n záporné a d>= 5, zaokrúhlite nadol
  • Ak je n záporné a d <5, zaokrúhlite nahor

Po zaokrúhlení podľa vyššie uvedených pravidiel môžeme posunúť desatinné miesto späť doľava.

  • Zaokrúhlenie na polovicu na párne: Existuje spôsob, ako zmierniť zaokrúhľovanie pri zaokrúhľovaní hodnôt v množine údajov. Úväzky môžeme jednoducho zaokrúhliť na najbližšie párne číslo s požadovanou presnosťou. Stratégia zaokrúhľovania z polovice na párne je stratégia, ktorú používa vstavaná funkcia round() Pythonu. The desatinná trieda poskytuje podporu pre rýchle správne zaokrúhlené desatinné čísla s pohyblivou rádovou čiarkou. To ponúka niekoľko výhod oproti dátovému typu float. Predvolená stratégia zaokrúhľovania v desiatkovom module je ROUND_HALF_EVEN.

Príklad: V tomto príklade kód uvedený nižšie používa funkciu „Decimal“ z knižnice „decimal“ na presné znázornenie desatinných čísel. Kontrast vytvára `Decimal` objekt z reťazca a priamo z čísla s pohyblivou rádovou čiarkou. Funkcia `quantize()` sa potom použije na zaokrúhľovanie s určenými desatinnými miestami, čím sa demonštruje presnosť desiatkovej aritmetiky.

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'>)))>

>

>

Výkon:

0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.68>