Python හි ගණිතමය ශ්රිත සඳහා සම්මත මොඩියුලය වන ගණිතයේ modf() ශ්රිතය, සංඛ්යාවක නිඛිල සහ දශම කොටස් එකවර ලබා ගැනීමට භාවිතා කළ හැක.
බෙදීමක කොටස් සහ ඉතිරිය එකවර ලබා ගන්නා divmod() සඳහා පහත ලිපිය බලන්න.
ගණිත මොඩියුලයකින් තොරව පූර්ණ සංඛ්යා සහ දශම කොටස් ලබා ගන්න
පාවෙන-ලක්ෂ්ය පාවෙන වර්ගයකට int() යෙදීමෙන් දශම ලක්ෂ්යය කපා හරින ලද පූර්ණ සංඛ්යා අගයක් ලැබේ. මෙය නිඛිල කොටස සහ දශම කොටස ලබා ගැනීමට භාවිතා කළ හැක.
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() සමඟ එකවර සංඛ්යාවක පූර්ණ සංඛ්යා සහ දශම කොටස් ලබා ගන්න
සංඛ්යාවක නිඛිල සහ දශම කොටස් එකවර ලබා ගැනීමට ගණිත මොඩියුලයේ ඇති modf() ශ්රිතය භාවිතා කළ හැක.
math.modf() පහත tuple නැවත ලබා දෙයි, දශම කොටස මුලින්ම එන බැවින් අනුපිළිවෙල සටහන් කරන්න.
(decimal, integer)
import math
print(math.modf(1.5))
print(type(math.modf(1.5)))
# (0.5, 1.0)
# <class 'tuple'>
සෑම එකක්ම පහත පරිදි අසුරා වෙනම විචල්යයකට පැවරිය හැක නිඛිල සහ දශම කොටස් දෙකම 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'>
ලකුණ නිඛිල සහ දශම කොටස් දෙකෙහිම මුල් අගයේ ලකුණට සමාන වේ.
f, i = math.modf(-1.5)
print(i)
print(f)
# -1.0
# -0.5
int වර්ග සඳහා අදාළ වේ. මෙම අවස්ථාවේදී, නිඛිල සහ දශම කොටස් දෙකම float වර්ග වේ.
f, i = math.modf(100)
print(i)
print(f)
# 100.0
# 0.0
float වර්ගයක් දශම කොටස ලබා නොගෙන පූර්ණ සංඛ්යාවක් (එනම්, දශම කොටස 0) දැයි පරීක්ෂා කිරීමට පහත ක්රමය භාවිතා කළ හැක. පහත ලිපිය බලන්න.
float.is_integer()