Python-da riyazi funksiyalar üçün standart modul olan riyaziyyatın modf() funksiyası ədədin tam və onluq hissələrini eyni vaxtda əldə etmək üçün istifadə edilə bilər.
Bölmənin əmsalını və qalığını eyni vaxtda əldə edən divmod() üçün aşağıdakı məqaləyə baxın.
Riyaziyyat modulu olmadan tam və onluq hissələri alın
Üzən nöqtəli float növünə int() tətbiqi ondalık nöqtəsi kəsilmiş tam dəyər verir. Bu, tam hissəni və onluq hissəni əldə etmək üçün istifadə edilə bilər.
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'>
math.modf() ilə eyni vaxtda ədədin tam və onluq hissələrini alın
Riyaziyyat modulundakı modf() funksiyası eyni zamanda ədədin tam və onluq hissələrini əldə etmək üçün istifadə edilə bilər.
math.modf() aşağıdakı korteji qaytarır Onluq hissə birinci gəldiyi üçün sıraya diqqət yetirin.
(decimal, integer)
import math
print(math.modf(1.5))
print(type(math.modf(1.5)))
# (0.5, 1.0)
# <class 'tuple'>
Hər biri aşağıdakı kimi açıla və ayrıca dəyişənə təyin edilə bilər. Həm tam, həm də onluq hissələr float tipləridir.
f, i = math.modf(1.5)
print(i)
print(f)
# 1.0
# 0.5
print(type(i))
print(type(f))
# <class 'float'>
# <class 'float'>
İşarə həm tam, həm də onluq hissələrin orijinal dəyərinin işarəsi ilə eyni olacaq.
f, i = math.modf(-1.5)
print(i)
print(f)
# -1.0
# -0.5
int növlərinə tətbiq olunur. Bu halda həm tam, həm də onluq hissələr float tipləridir.
f, i = math.modf(100)
print(i)
print(f)
# 100.0
# 0.0
Onluq hissəni əldə etmədən float növünün tam ədəd olub-olmadığını yoxlamaq üçün aşağıdakı üsuldan istifadə edilə bilər (yəni ondalık hissə 0-dır). Aşağıdakı məqaləyə baxın.
float.is_integer()