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.

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>