Python možná potvrzuje svou pověst výkonného a flexibilního programovacího jazyka a obsahuje mnoho interních knihoven pro automatizaci běžných nebo složitých výpočetních a matematických úloh. "Matematická knihovna" obsahuje mnoho metod pro provádění typických výpočtů nebo operací, jako je zaokrouhlování. Zaokrouhlování desetinných míst v Pythonu však nezaokrouhluje na celé číslo, ale na celé desetinné číslo. Převod na celá čísla vyžaduje použití matematické knihovny Pythonu spolu s použitím některých vestavěných převodních knihoven.
Python a zaokrouhlování
Matematická knihovna Pythonu nabízí balíček metod užitečných pro zaokrouhlování desetinných čísel na celá. Číslo můžete zaokrouhlit tradičním způsobem (dolů na nejbližší celé číslo pro zlomkové části s hodnotou 0,4 nebo nižší a nahoru pro části s hodnotou 0,5 a větší) pomocí metody "round()". Následující příklad ukazuje, jak zaokrouhlit desetinná čísla pomocí metody round:
Video dne
f = 5,455 >>>kolo (f) 5,0 >>>kolo (f, 2) //zaokrouhlí na 2 desetinná místa 5,46
Stropní a podlahové metody
Jako součást matematické knihovny poskytují metody "floor()" a "ceil()" jedinečný způsob zaokrouhlování desetinných míst, který se vám může hodit při určitých výpočtech. Metoda dna se zaokrouhluje dolů na nejmenší nejbližší celé číslo směrem k zápornému nekonečnu (bez ohledu na to desetinná hodnota) a metoda stropu se zaokrouhlí nahoru na nejbližší celé číslo směrem ke kladnému nekonečno. Následující příklad ukazuje, jak tyto dvě funkce fungují:
import matematika >>>f = 3,5 >>>g = -3,5 >>>podlaží (f) 3,0 >>>strop (3,5) 4,0 >>>podlaží (g) -4,0 >>>strop (g) -3,0
Zaokrouhlování a celá čísla
Uvedené operace zaokrouhlování ukazují, jak tyto funkce fungují, ale mají také vedlejší efekt: ve verzích Pythonu před 3.0 se desetinná místa nezaokrouhlují na celá čísla, ale na desetinná místa. Kvůli způsobu, jakým jsou v počítačových architekturách reprezentována desetinná místa, by to mohlo způsobit problémy při vysoce přesných výpočtech, kde programátoři mohou vyžadovat celá čísla. Plovoucí číslo můžete převést na celé číslo pomocí metody "int()", jako v tomto příkladu:
f = 3,5 >>>kolo (f) 4,0 >>>int (kolo (f)) 4
Příklad metody
Pomocí těchto znalostí můžete vyvinout metodu snadného zaokrouhlování desetinných míst na celá čísla. Následující příklady ukazují stručné příklady metod, které určují dno a strop čísla jako celé číslo a další, které zaokrouhlují na uživatelem určené desetinné místo (nebo celé číslo):
import matematiky >>>def integerFloor (x):... return int (podlaží (x)) >>>def celé čísloStrop (x):... return int (ceil (x)) >>>def zaokrouhlení (x, dec):... pokud dec == 0:... return int (zaokrouhlení (x))... jiný:... návrat (zaokrouhlení (x, dec))