logo

Jak zaokrouhlovat čísla v Pythonu?

V tomto článku probereme Jak zaokrouhlovat čísla v Pythonu s vhodnými metodami a příklady Jak zaokrouhlit nahoru Krajta .

Příklad:



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

Zaokrouhlit čísla v Pythonu

Zaokrouhlení čísla znamená zjednodušení čísla tím, že jeho hodnota zůstane nedotčená, ale blíže k dalšímu číslu. Existují různé metody zaokrouhlování čísel v Pythonu, zde diskutujeme o některých obecně používaných Jak zaokrouhlit nahoru v Pythonu , Níže jsou uvedeny následující body, které budou popsány v tomto článku pomocí Pythonu:

  • Použití vestavěné funkce round().
  • Použitím Zkrácení pojem
  • Použitím Math.ceil() a Math.floor() funkcí
  • Použitím math.ceil
  • Použitím matematika.podlaha
  • Za použití numpy> Modul
  • Za použití Zaokrouhlování Koncept zkreslení
  • Zaokrouhlení na polovinu od nuly v Pythonu

Zaokrouhlená čísla v Pythonu u zpívat Vestavěný kolo() Funkce

V Pythonu je vestavěný funkce round(). která zaokrouhlí číslo na daný počet číslic. Funkce round() přijímá dva číselné argumenty, n a n číslic, a poté vrátí číslo n po zaokrouhlení na n číslic. Pokud není uveden počet číslic pro zaokrouhlení, funkce zaokrouhlí dané číslo n na nejbližší celé číslo.

tlačítko pro střed css

Příklad: V tomto příkladu níže uvedený kód ukazuje funkci `round()` pro celá čísla a čísla s plovoucí desetinnou čárkou. Ilustruje také zaokrouhlování na dvě desetinná místa a ukazuje případy, kdy je další číslice 5, větší než 5 a menší než 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ýstup:

11 23 4.46 4.48 4.47>

Zaokrouhlená čísla v Pythonu u zpívat Zkrácení pojem

V této funkci je každá číslice po dané pozici nahrazena 0. python zkrátit() funkce lze použít s kladnými i zápornými čísly. Funkci zkrácení lze implementovat následujícím způsobem:

  • Vynásobením čísla 10^p (10 zvýšeno na pčtmoc) k posunutí desetinné čárky o p míst doprava.
  • Převzetí celé části tohoto nového čísla pomocí int().
  • Posunutím desetinného místa p míst zpět doleva vydělení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ýstup:

16.0 -3.8 3.81 340.0 -2000.0>

Zaokrouhlená čísla v Pythonu u zpívat Math.ceil() a Math.floor() funkcí

Matematika . ceil() : Tato funkce vrací nejbližší celé číslo, které je větší nebo rovno danému číslu.
Math.floor() : Tato funkce vrací nejbližší celé číslo menší nebo rovné danému číslu.

Příklad :V tomto příkladu níže uvedený kód využívá knihovnu `math` k výpočtu maximálních hodnot pro kladná a záporná desetinná místa s `math.ceil` a spodní hodnoty s `math.floor`. Výstupy jsou 5, 0, 2 a -1 pro příslušné pří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ýstup:

5 0 2 -1>

Zaokrouhlená čísla v Pythonu u zpívat math.ceil

Zaokrouhlení čísla nahoru zahrnuje posunutí desetinné čárky doprava, zaokrouhlení nahoru a následné posunutí zpět doleva pro přesnost pomocí ` math.ceil() ` a operace násobení/dělení.

Příklad :V tomto příkladu níže uvedený kód definuje funkci `round_up` pomocí knihovny `math`, která zaokrouhluje číslo na zadané desetinné místo. Využívá násobení, zaokrouhlování pomocí `math.ceil()` a dělení pro přesnost. Kladné a záporné hodnoty se testují na zaokrouhlení.

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ýstup:

3.0 2.3 2.55 30.0 2400.0>

Můžeme se řídit níže uvedeným diagramem, abychom pochopili zaokrouhlení nahoru a dolů. Zaokrouhlete nahoru doprava a dolů doleva.

Porozumění zaokrouhlování nahoru a dolů

Zaokrouhlením nahoru se vždy zaokrouhlí číslo na číselné ose doprava a zaokrouhlením dolů se vždy zaokrouhlí číslo na číselné ose doleva.

Zaokrouhlená čísla v Pythonu u zpívat matematika.podlaha

V zaokrouhlení dolů je číslo zaokrouhleno dolů na určený počet číslic. Funkci zaokrouhlení dolů lze implementovat následujícím způsobem:

  • Nejprve se desetinná čárka v n posune na správný počet míst doprava vynásobením n 10 ** desetinnými místy.
  • Nová hodnota se zaokrouhlí nahoru na nejbližší celé číslo pomocí math.floor() .
  • Nakonec se desetinná čárka posune zpět doleva dělením na 10 ** desetinných míst.

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ýstup:

2.0 2.4 -1.0>

Zaokrouhlená čísla v Pythonu u zpívat Numpy Module

Modul NumPy v Pythonu poskytuje numpy.round()>funkce zaokrouhlovat čísla. Tato funkce zaokrouhlí každý prvek pole na nejbližší celé číslo nebo na zadaný počet desetinných míst.

Příklad: V tomto příkladu níže uvedený kód používá modul NumPy k vytvoření pole `arr` a zaokrouhluje každý prvek na nejbližší celé číslo (`rounded_integers`) a na dvě desetinná místa (`rounded_decimals`). Výsledky jsou poté vytištěny pro zobrazení.

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ýstup :

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

Zaokrouhlená čísla v Pythonu u zpívat Zkreslení zaokrouhlení pojem.

Koncept symetrie zavádí pojem zkreslení zaokrouhlování, který popisuje, jak zaokrouhlování ovlivňuje číselná data v datové sadě.
Strategie zaokrouhlování má zaokrouhlení směrem ke kladnému nekonečnu, protože hodnota je vždy zaokrouhlena nahoru ve směru kladného nekonečna. Podobně strategie zaokrouhlování dolů má zaokrouhlení směrem k zápornému nekonečnu. Strategie zkrácení má zaokrouhlení směrem k zápornému nekonečnu u kladných hodnot a zaokrouhlování směrem k kladnému nekonečnu pro záporné hodnoty. Zaokrouhlovací funkce s tímto chováním mají obecně zaokrouhlení směrem k nule.

a) Zaokrouhlení na polovinu nahoru koncept v Pythonu

Poloviční zaokrouhlení zaokrouhlí každé číslo na nejbližší číslo se zadanou přesností a přeruší remízu zaokrouhlením nahoru.
Strategie zaokrouhlení na polovinu se provádí posunutím desetinné čárky doprava o požadovaný počet míst. V tomto případě budeme muset určit, zda je číslice za posunutou desetinnou čárkou menší nebo větší než 5.
K hodnotě, která je posunuta, můžeme přidat 0,5 a pak ji zaokrouhlit dolů pomocí funkce math.floor().

Implementace funkce round_half_up():

Příklad: V tomto příkladu níže uvedený kód definuje `round_half_up`, vlastní funkci zaokrouhlení používající metodu round half up s `math.floor()` pro přesnost. Ukázky zahrnují kladná a záporná čísla s různými desetinnými místy.

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ýstup:

1.3 -1.0 -1.23>

b) Zaokrouhlení napůl dolů koncept v Pythonu

Tím se zaokrouhlí na nejbližší číslo podobně jako metoda zaokrouhlování na polovinu, rozdíl je v tom, že se přeruší remíza zaokrouhlením na menší z těchto dvou čísel. Strategie zaokrouhlení o polovinu dolů je implementována nahrazením math.floor() ve funkci round_half_up() math.ceil() a poté odečtením 0,5 namísto přidávání.

Implementace funkce round_half_down():

V tomto příkladu níže uvedený kód definuje `round_half_down` pomocí knihovny `math` k dosažení chování zaokrouhlení na polovinu. Využívá násobení, odčítání a `math.ceil()` pro zaokrouhlování směrem k nule. Testovací případy zahrnují kladná a záporná desetinná místa zaokrouhlená na jedno desetinné místo.

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ýstup:

2.0 -3.0 2.2>

Zaokrouhlení na polovinu od nuly v Pythonu

V zaokrouhlení na polovinu od nuly musíme začít jako obvykle posunutím desetinné čárky doprava o daný počet míst a pak si všimnout číslice (d) hned vpravo od desetinného místa v novém čísle. Je třeba zvážit čtyři případy:

  • Je-li n kladné a d>= 5, zaokrouhlete nahoru
  • Je-li n kladné a d = 5, zaokrouhlete dolů
  • Pokud je n záporné a d>= 5, zaokrouhlete dolů
  • Je-li n záporné a d <5, zaokrouhlete nahoru

Po zaokrouhlení podle výše uvedených pravidel můžeme posunout desetinné místo zpět doleva.

  • Zaokrouhlení na polovinu na sudé: Existuje způsob, jak zmírnit zkreslení zaokrouhlování, když zaokrouhlujeme hodnoty v datové sadě. Můžeme jednoduše zaokrouhlit vazby na nejbližší sudé číslo s požadovanou přesností. Strategie zaokrouhlování z poloviny na sudé je strategie používaná vestavěným round() Pythonu. The desetinná třída poskytuje podporu pro rychlou správně zaokrouhlenou desetinnou aritmetiku s plovoucí desetinnou čárkou. To nabízí několik výhod oproti datovému typu float. Výchozí strategie zaokrouhlování v desítkovém modulu je ROUND_HALF_EVEN.

Příklad: V tomto příkladu níže uvedený kód používá funkci `Decimal` z knihovny `decimal` k přesné reprezentaci desetinných čísel. Kontrastuje vytváření `Desetinného` objektu z řetězce a přímo z čísla s plovoucí desetinnou čárkou. Funkce `quantize()` se pak použije pro zaokrouhlování s určenými desetinnými místy, což demonstruje přesnost v desítkové aritmetice.

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ýstup:

0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.68>