Najbliższa funkcja całkowita w Pythonie

Naucz się zaokrąglać do liczb całkowitych, używając funkcji biblioteki matematycznej Python.

Python i zaokrąglanie

Biblioteka matematyczna Python oferuje pakiet przydatnych metod zaokrąglania liczb dziesiętnych do liczb całkowitych. Możesz zaokrąglić liczbę w tradycyjny sposób (do najbliższej mniejszej liczby całkowitej w częściach ułamkowych 0, 4 lub mniejszej, a do największej w częściach od 0, 5 lub więcej) za pomocą metody "round ()". Poniższy przykład pokazuje, jak zaokrąglić liczby dziesiętne za pomocą metody "rundy":

f = 5, 455 runda (f) 5, 0 runda (f, 2) // runda do 2 miejsc po przecinku 5, 46

Metody dachowe i podłogowe

W ramach biblioteki matematycznej metody "floor ()" i "ceil ()" zapewniają unikalny sposób na wyliczanie liczb dziesiętnych, które mogą okazać się przydatne w pewnych obliczeniach. Metoda gleby zaokrągla do najbliższej mniejszej liczby całkowitej do ujemnej nieskończoności (niezależnie od wartości dziesiętnej), a metoda dachu zaokrągla ją do najbliższej liczby całkowitej do dodatniej nieskończoności. Poniższy przykład pokazuje, jak działają dwie funkcje:

import matematyki f = 3, 5 g = -3, 5 piętra (f) 3, 0 ceil (3, 5) 4, 0 piętro (g) -4, 0 cala (g) -3, 0

Zaokrąglanie i cały

Zilustrowane operacje zaokrąglania pokazują, jak korzystać z tych funkcji, ale mają również skutki uboczne: w wersjach Pythona przed 3.0 zaokrąglone cyfry dziesiętne nie zostały zaokrąglone do liczb całkowitych, lecz do liczb dziesiętnych. Ze względu na sposób reprezentowania miejsc dziesiętnych w architekturach komputerów może to powodować problemy w precyzyjnych obliczeniach, gdy programiści potrzebują liczb całkowitych. Możesz przekonwertować liczbę zmiennoprzecinkową na liczbę całkowitą za pomocą metody "int ()", jak w tym przykładzie:

f = 3, 5 rundy (f) 4, 0 int (runda (f)) 4

Przykładowa metoda

Korzystając z tej wiedzy, możesz opracować metodę łatwego zaokrąglania liczb dziesiętnych do liczb całkowitych. Poniższe przykłady pokazują krótkie przykłady metod, które określają dach i podłogę liczby jako liczby całkowitej, a inne zaokrąglane są do miejsca dziesiętnego wybranego przez użytkownika (lub liczbę całkowitą):

import matematyki def integerFloor (x) :., , return int (floor (x)) def integerCeiling (x) :., , return int (ceil (x)) zaokrąglenie def (x, dec) :., , jeśli dec == 0 :., , return int (round (x))., , else :., , powrót (runda (x, dec))