Nemtokake yen nomer minangka integer utawa desimal ing Python.
Kasus ing ngisor iki diterangake kanthi kode sampel.
- Nemtokake apa nomer minangka integer int utawa floating-point float:
isinstance()
- Nemtokake yen nomer jinis float minangka integer (0 desimal):
float.is_integer()
- Nemtokake yen senar nomer minangka integer
Kanggo entuk nilai integer lan desimal saka nomer desimal, deleng artikel ing ngisor iki.
Waca artikel ing ngisor iki kanggo informasi babagan nemtokake manawa senar minangka nomer (kalebu angka Cina, lsp.) tinimbang apa iku integer utawa desimal.
Nemtokake apa nomer minangka jinis integer utawa floating point:isinstance()
Jinis obyek bisa dipikolehi karo dibangun ing jinis fungsi ().
i = 100
f = 1.23
print(type(i))
print(type(f))
# <class 'int'>
# <class 'float'>
isinstance(object, type)
Fungsi sing dibangun iki bisa digunakake kanggo nemtokake manawa obyek saka jinis tartamtu. Iki bisa digunakake kanggo nemtokake manawa nomer minangka integer utawa tipe floating point.
print(isinstance(i, int))
# True
print(isinstance(i, float))
# False
print(isinstance(f, int))
# False
print(isinstance(f, float))
# True
Ing kasus iki, mung ngadili jinis kasebut, mula ora bisa ngadili apa nilai jinis float minangka integer (kanthi titik desimal 0) utawa ora.
f_i = 100.0
print(type(f_i))
# <class 'float'>
print(isinstance(f_i, int))
# False
print(isinstance(f_i, float))
# True
Nemtokake yen nomer jinis float minangka integer (0 desimal):float.is_integer()
Cara is_integer () diwenehake kanggo jinis float, sing ngasilake bener yen nilai kasebut minangka integer lan palsu.
f = 1.23
print(f.is_integer())
# False
f_i = 100.0
print(f_i.is_integer())
# True
Contone, fungsi sing ngasilake bener kanggo nomer integer bisa ditetepake minangka nderek Ing tangan liyane, jinis senar bakal palsu.
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
Nemtokake yen senar nomer minangka integer
Yen sampeyan pengin nemtokake manawa senar angka integer uga minangka integer, fungsi ing ngisor iki bisa ditindakake.
Kanggo nilai sing bisa diowahi kanggo float jinis karo float (), cara is_integer () Applied sawise konversi kanggo float lan asil bali.
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
Deleng artikel ing ngisor iki kanggo rincian babagan ngowahi strings menyang angka.
Deleng artikel ing ngisor iki kanggo rincian babagan nemtokake manawa senar minangka nomer (kalebu angka Cina, lsp.).