Obteniu parts senceres i decimals d’un nombre al mateix temps amb math.modf a Python

Negocis

La funció modf() de matemàtiques, el mòdul estàndard per a funcions matemàtiques a Python, es pot utilitzar per obtenir les parts senceres i decimals d’un nombre simultàniament.

Vegeu l’article següent per a divmod(), que obté simultàniament el quocient i la resta d’una divisió.

Obteniu parts senceres i decimals sense mòdul matemàtic

Si apliqueu int() a un tipus flotant de coma flotant, s’obté un valor enter amb el punt decimal truncat. Això es pot utilitzar per obtenir la part entera i la part decimal.

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

Obteniu parts senceres i decimals d’un nombre simultàniament amb math.modf()

La funció modf() del mòdul matemàtic es pot utilitzar per obtenir simultàniament les parts senceres i decimals d’un nombre.

math.modf() retorna la següent tupla Tingueu en compte l’ordre, ja que la part decimal arriba primer.

  • (decimal, integer)
import math

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

Cadascun es pot desempaquetar i assignar-se a una variable separada de la següent manera Tant les parts senceres com decimals són de tipus flotant.

f, i = math.modf(1.5)

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

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

El signe serà el mateix que el signe del valor original tant per a les parts senceres com decimals.

f, i = math.modf(-1.5)

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

Aplicable als tipus int. En aquest cas, tant les parts senceres com les decimals són de tipus flotant.

f, i = math.modf(100)

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

El mètode següent es pot utilitzar per comprovar si un tipus flotant és un nombre enter (és a dir, la part decimal és 0) sense obtenir la part decimal. Consulteu l’article següent.

  • float.is_integer()
Copied title and URL