Egy szám egész és tizedes részének egyszerre történő kinyerése a math.modf segítségével Pythonban

Üzleti

A Python matematikai függvények szabványos moduljának, a math-nak a modf() függvénye használható egy szám egész és tizedes részének egyidejű kiszámítására.

Lásd a következő cikket a divmod()-ról, amely egyszerre kapja meg az osztás hányadosát és maradékát.

Egész és tizedes részek kinyerése matematikai modul nélkül

Ha az int() függvényt egy lebegőpontos lebegőpontos típusra alkalmazzuk, akkor egy egész értéket kapunk, a tizedesvesszővel lecsupaszítva. Ez felhasználható az egész szám rész és a tizedes rész kinyerésére.

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

Egy szám egész és tizedes részének egyidejű kinyerése a math.modf() segítségével

A matematikai modul modf() függvénye használható egy szám egész és tizedes részének egyidejű kiszámítására.

A math.modf() a következő tételt adja vissza Figyeljük meg a sorrendet, mivel a tizedes rész következik először.

  • (decimal, integer)
import math

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

Mindkettő kicsomagolható és külön változóhoz rendelhető az alábbiak szerint Mind az egész szám, mind a tizedes részek float típusúak.

f, i = math.modf(1.5)

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

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

Az előjel megegyezik az eredeti érték előjelével mind az egész, mind a tizedes részek esetében.

f, i = math.modf(-1.5)

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

Az int típusokra alkalmazható. Ebben az esetben mind az egész szám, mind a tizedes részek float típusok.

f, i = math.modf(100)

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

A következő módszerrel ellenőrizhetjük, hogy egy float típus egész szám-e (azaz a tizedes rész 0-e) anélkül, hogy a tizedes részt megkapnánk. Lásd a következő cikket.

  • float.is_integer()
Copied title and URL