Nejbližší celočíselná funkce v jazyce Python

Naučte se zaokrouhávat na celá čísla pomocí funkcí matematické knihovny Pythonu.

Python a zaokrouhlování

Matematická knihovna Pythonu nabízí balíček užitečných metod pro zaokrouhlení desítkových čísel do celých čísel. Tradiční číslo můžete zaokrouhlovat (na nejbližší menší celé číslo v části zlomků 0, 4 nebo méně a na největší v částech 0, 5 nebo více) pomocí metody "round ()". Následující příklad ukazuje, jak zaokrouhlovat desítková čísla metodou "kulatý":

f = 5, 455 kruh (f) 5, 0 kola (f, 2) // kruhy na 2 desetinná místa 5.46

Střešní a podlahové metody

Jako součást matematické knihovny poskytují metody "floor ()" a "ceil ()" jedinečný způsob zaokrouhlení desetinných míst, které můžete považovat za užitečné při určitých výpočtech. Půdní metoda se zaokrouhlí na nejbližší menší celé číslo jako na negativní nekonečno (bez ohledu na desetinnou hodnotu) a metoda střechy ji zaokrouhlí na nejbližší celé číslo k pozitivní nekonečno. Následující příklad ukazuje, jak fungují tyto dvě funkce:

import math f = 3, 5 g = -3, 5 podlaha (f) 3, 0 strop (3, 5) 4, 0 podlaží (g) -4, 0 ceil (g) -3, 0

Zaoblení a celé

Zobrazené funkce zaokrouhlení ukazují, jak tyto funkce používat, ale mají také vedlejší účinky: ve verzích Pythonu před verzí 3.0 nebyly zaokrouhlené desetinná místa zaokrouhleny na celá čísla, ale na desetinná místa. Díky způsobu reprezentování desetinných míst v počítačových architekturách by to mohlo způsobit problémy s vysoce přesnými výpočty, kde programátoři potřebují celá čísla. Převod plovoucího čísla na celé číslo můžete pomocí metody "int ()", jako v tomto příkladu:

f = 3, 5 kola (f) 4, 0 int (kolo (f)) 4

Příkladová metoda

Pomocí těchto znalostí můžete vyvinout metodu pro snadné zakreslení desetinných míst do celých čísel. Následující příklady ukazují krátké příklady metod, které určují střechu a podlahu čísla jako celé číslo a další, které jsou zaokrouhleny na desetinné místo vybrané uživatelem (nebo celé číslo):

import math def integerFloor (x) :., , návrat int (podlaha (x)) def integerCeiling (x) :., , návrat int (ceil (x)) def zaokrouhlení (x, dec) :., , pokud dec == 0 :., , návrat int (kulatý (x))., , jinak :., , návrat (kolo (x, dec))