Tukuyin kung ang isang numero ay isang integer o isang decimal sa Python.
Ang mga sumusunod na kaso ay ipinaliwanag gamit ang mga sample na code.
- Tinutukoy kung ang isang numero ay isang integer int o isang floating-point float:
isinstance()
- Tinutukoy kung ang isang float type number ay isang integer (0 decimal place):
float.is_integer()
- Tinutukoy kung ang isang string ng numero ay isang integer
Upang makuha ang mga integer at decimal na halaga ng isang decimal na numero, tingnan ang sumusunod na artikulo.
Tingnan ang sumusunod na artikulo para sa impormasyon sa pagtukoy kung ang isang string ay isang numero (kabilang ang mga Chinese numeral, atbp.) sa halip na kung ito ay isang integer o decimal.
Tinutukoy kung ang isang numero ay isang integer o uri ng floating point:isinstance()
Ang uri ng isang bagay ay maaaring makuha gamit ang built-in na uri ng function().
i = 100
f = 1.23
print(type(i))
print(type(f))
# <class 'int'>
# <class 'float'>
isinstance(object, type)
Ang built-in na function na ito ay maaaring gamitin upang matukoy kung ang isang bagay ay nasa isang partikular na uri. Magagamit ito upang matukoy kung ang isang numero ay isang integer o uri ng floating point.
print(isinstance(i, int))
# True
print(isinstance(i, float))
# False
print(isinstance(f, int))
# False
print(isinstance(f, float))
# True
Sa kasong ito, hinuhusgahan lamang nito ang uri, kaya hindi nito mahuhusgahan kung ang halaga ng uri ng float ay isang integer (na may decimal point na 0) o hindi.
f_i = 100.0
print(type(f_i))
# <class 'float'>
print(isinstance(f_i, int))
# False
print(isinstance(f_i, float))
# True
Tinutukoy kung ang isang float type number ay isang integer (0 decimal place):float.is_integer()
Ang is_integer() method ay ibinigay para sa float type, na nagbabalik ng true kung ang value ay isang integer at false kung hindi.
f = 1.23
print(f.is_integer())
# False
f_i = 100.0
print(f_i.is_integer())
# True
Halimbawa, ang isang function na nagbabalik ng true para sa isang integer na numero ay maaaring tukuyin bilang mga sumusunod Sa kabilang banda, ang isang uri ng string ay magiging false.
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
Tinutukoy kung ang isang string ng numero ay isang integer
Kung gusto mong matukoy na ang isang string ng integer digit ay isa ring integer, posible ang mga sumusunod na function.
Para sa mga value na maaaring i-convert sa float type na may float(), ang is_integer() method ay inilapat pagkatapos ng conversion sa float at ang resulta ay ibinalik.
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
Tingnan ang sumusunod na artikulo para sa mga detalye sa pag-convert ng mga string sa mga numero.
Tingnan ang sumusunod na artikulo para sa mga detalye sa pagtukoy kung ang isang string ay isang numero (kabilang ang mga Chinese numeral, atbp.).