Nemtokake yen nomer minangka integer utawa desimal ing Python

Bisnis

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.).

Copied title and URL