Funkcija modf() matematike, standardni modul za matematičke funkcije u Pythonu, može se koristiti za dobivanje cjelobrojnih i decimalnih dijelova broja istovremeno.
Pogledajte sljedeći članak za divmod(), koji istovremeno dobiva kvocijent i ostatak dijeljenja.
Dobijte cjelobrojne i decimalne dijelove bez matematičkog modula
Primjena int() na tip float s pomičnim zarezom daje cjelobrojnu vrijednost sa skraćenom decimalnim zarezom. Ovo se može koristiti za dobivanje cijelog i decimalnog dijela.
a = 1.5
i = int(a)
f = a - int(a)
print(i)
print(f)
# 1
# 0.5
print(type(i))
print(type(f))
# <class 'int'>
# <class 'float'>
Dobivanje cijelih i decimalnih dijelova broja istovremeno s math.modf()
Funkcija modf() u matematičkom modulu može se koristiti za istovremeno dobivanje cjelobrojnih i decimalnih dijelova broja.
math.modf() vraća sljedeću torku. Obratite pažnju na redoslijed, budući da je decimalni dio prvi.
(decimal, integer)
import math
print(math.modf(1.5))
print(type(math.modf(1.5)))
# (0.5, 1.0)
# <class 'tuple'>
Svaki se može raspakirati i dodijeliti zasebnoj varijabli na sljedeći način. I cjelobrojni i decimalni dijelovi su tipovi float.
f, i = math.modf(1.5)
print(i)
print(f)
# 1.0
# 0.5
print(type(i))
print(type(f))
# <class 'float'>
# <class 'float'>
Predznak će biti isti kao predznak izvorne vrijednosti i za cijeli broj i za decimalni dio.
f, i = math.modf(-1.5)
print(i)
print(f)
# -1.0
# -0.5
Primjenjivo na tipove int. U ovom slučaju, i cjelobrojni i decimalni dijelovi su tipovi s plovkom.
f, i = math.modf(100)
print(i)
print(f)
# 100.0
# 0.0
Sljedeća metoda se može koristiti za provjeru je li tip s plutajućim brojem cijeli broj (tj. decimalni dio je 0) bez dobivanja decimalnog dijela. Pogledajte sljedeći članak.
float.is_integer()