កំណត់ថាតើលេខជាចំនួនគត់ ឬទសភាគនៅក្នុង Python ។
ករណីខាងក្រោមត្រូវបានពន្យល់ដោយលេខកូដគំរូ។
- កំណត់ថាតើលេខមួយគឺជាចំនួនគត់ int ឬអណ្តែតចំណុចអណ្តែត:
isinstance()
- កំណត់ថាតើលេខប្រភេទអណ្តែតគឺជាចំនួនគត់ (0 ខ្ទង់ទសភាគ):
float.is_integer()
- កំណត់ថាតើខ្សែអក្សរលេខជាចំនួនគត់
ដើម្បីទទួលបានចំនួនគត់ និងតម្លៃទសភាគនៃចំនួនទសភាគ សូមមើលអត្ថបទខាងក្រោម។
សូមមើលអត្ថបទខាងក្រោមសម្រាប់ព័ត៌មានស្តីពីការកំណត់ថាតើខ្សែអក្សរជាលេខ (រួមទាំងលេខចិន។ល។) ជាជាងថាតើវាជាចំនួនគត់ ឬទសភាគ។
កំណត់ថាតើលេខជាចំនួនគត់ ឬប្រភេទចំណុចអណ្តែត:isinstance()
ប្រភេទនៃវត្ថុមួយអាចទទួលបានជាមួយនឹងប្រភេទមុខងារដែលភ្ជាប់មកជាមួយ()។
i = 100
f = 1.23
print(type(i))
print(type(f))
# <class 'int'>
# <class 'float'>
isinstance(object, type)
មុខងារដែលភ្ជាប់មកជាមួយនេះអាចត្រូវបានប្រើដើម្បីកំណត់ថាតើវត្ថុមួយជាប្រភេទជាក់លាក់ឬអត់។ វាអាចត្រូវបានប្រើដើម្បីកំណត់ថាតើលេខជាចំនួនគត់ឬប្រភេទចំណុចអណ្តែត។
print(isinstance(i, int))
# True
print(isinstance(i, float))
# False
print(isinstance(f, int))
# False
print(isinstance(f, float))
# True
ក្នុងករណីនេះ វាវិនិច្ឆ័យតែប្រភេទប៉ុណ្ណោះ ដូច្នេះវាមិនអាចវិនិច្ឆ័យថាតើតម្លៃប្រភេទអណ្តែតគឺជាចំនួនគត់ (ជាមួយចំនុចទសភាគ 0) ឬអត់។
f_i = 100.0
print(type(f_i))
# <class 'float'>
print(isinstance(f_i, int))
# False
print(isinstance(f_i, float))
# True
កំណត់ថាតើលេខប្រភេទអណ្តែតគឺជាចំនួនគត់ (0 ខ្ទង់ទសភាគ):float.is_integer()
វិធីសាស្ត្រ is_integer() ត្រូវបានផ្តល់ជូនសម្រាប់ប្រភេទអណ្តែត ដែលត្រឡប់ពិត ប្រសិនបើតម្លៃជាចំនួនគត់ និងមិនពិត។
f = 1.23
print(f.is_integer())
# False
f_i = 100.0
print(f_i.is_integer())
# True
ឧទាហរណ៍ អនុគមន៍ដែលត្រឡប់ពិតសម្រាប់ចំនួនគត់អាចត្រូវបានកំណត់ដូចខាងក្រោម ម្យ៉ាងវិញទៀតប្រភេទខ្សែអក្សរនឹងមិនពិត។
def is_integer_num(n):
if isinstance(n, int):
return True
if isinstance(n, float):
return n.is_integer()
return False
print(is_integer_num(100))
# True
print(is_integer_num(1.23))
# False
print(is_integer_num(100.0))
# True
print(is_integer_num('100'))
# False
កំណត់ថាតើខ្សែអក្សរលេខជាចំនួនគត់
ប្រសិនបើអ្នកចង់កំណត់ថាខ្សែអក្សរនៃចំនួនគត់ក៏ជាចំនួនគត់ដែរ មុខងារខាងក្រោមគឺអាចធ្វើទៅបាន។
សម្រាប់តម្លៃដែលអាចបំប្លែងទៅជាប្រភេទអណ្តែតដោយប្រើ float() វិធីសាស្ត្រ is_integer() ត្រូវបានអនុវត្តបន្ទាប់ពីការបំប្លែងទៅជាអណ្តែត ហើយលទ្ធផលត្រូវបានត្រលប់មកវិញ។
def is_integer(n):
try:
float(n)
except ValueError:
return False
else:
return float(n).is_integer()
print(is_integer(100))
# True
print(is_integer(100.0))
# True
print(is_integer(1.23))
# False
print(is_integer('100'))
# True
print(is_integer('100.0'))
# True
print(is_integer('1.23'))
# False
print(is_integer('string'))
# False
សូមមើលអត្ថបទខាងក្រោមសម្រាប់ព័ត៌មានលម្អិតអំពីការបំប្លែងខ្សែអក្សរទៅជាលេខ។
សូមមើលអត្ថបទខាងក្រោមសម្រាប់ព័ត៌មានលម្អិតអំពីការកំណត់ថាតើខ្សែអក្សរជាលេខ (រួមទាំងលេខចិន។ល។)។