Pythoni programmi math.modf abil saab üheaegselt numbri täisarvu ja kümnendosad

Äri

Pythoni matemaatiliste funktsioonide standardmooduli math funktsiooni modf() saab kasutada numbri täisarvulise ja kümnendosa samaaegseks saamiseks.

Vaata järgmist artiklit divmod() kohta, mis annab samaaegselt jagamise korrutise ja jäägi.

Saada täisarvu- ja kümnendosad ilma matemaatikamoodulita

Rakendades int() ujukoma-tüüpi ujukoma-tüübile, saadakse täisarvuline väärtus, mille kümnendkoht on kärbitud. Seda saab kasutada täisarvu osa ja kümnendosa saamiseks.

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'>

Arvude täisarvuliste ja kümnendosade samaaegne saamine math.modf() abil

Matemaatikamooduli funktsiooni modf() saab kasutada numbri täisarvulise ja kümnendosa samaaegseks saamiseks.

math.modf() tagastab järgmise tupli Pange tähele järjekorda, sest kümnendosa on kõigepealt.

  • (decimal, integer)
import math

print(math.modf(1.5))
print(type(math.modf(1.5)))
# (0.5, 1.0)
# <class 'tuple'>

Mõlemat saab lahti pakkida ja määrata eraldi muutujale järgmiselt Nii täisarvu- kui ka kümnendosa on float-tüüpi.

f, i = math.modf(1.5)

print(i)
print(f)
# 1.0
# 0.5

print(type(i))
print(type(f))
# <class 'float'>
# <class 'float'>

Märk on sama, mis algväärtuse märk nii täisarvu kui ka kümnendosa puhul.

f, i = math.modf(-1.5)

print(i)
print(f)
# -1.0
# -0.5

Kohaldatakse int-tüüpide suhtes. Sellisel juhul on nii täisarvu- kui ka kümnendosa float-tüüpi.

f, i = math.modf(100)

print(i)
print(f)
# 100.0
# 0.0

Järgmise meetodiga saab kontrollida, kas float-tüüpi arv on täisarv (st kümnendosa on 0), ilma kümnendosa saamata. Vt järgmist artiklit.

  • float.is_integer()
Copied title and URL