Python에서 math.modf를 사용하여 숫자의 정수 및 소수 부분을 동시에 가져옵니다.

사업

파이썬의 수학 함수에 대한 표준 모듈인 수학의 modf() 함수는 숫자의 정수 부분과 소수 부분을 동시에 얻는 데 사용할 수 있습니다.

나눗셈의 몫과 나머지를 동시에 구하는 divmod()에 대한 다음 기사를 참조하십시오.

수학 모듈 없이 정수 및 소수 부분 얻기

부동 소수점 부동 소수점 유형에 int()를 적용하면 소수점이 잘린 정수 값이 생성됩니다. 이것은 정수 부분과 소수 부분을 얻는 데 사용할 수 있습니다.

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

math.modf()를 사용하여 숫자의 정수 및 소수 부분을 동시에 가져옵니다.

수학 모듈의 함수 modf()를 사용하여 숫자의 정수 및 소수 부분을 동시에 얻을 수 있습니다.

math.modf()는 다음 튜플을 반환합니다. 소수 부분이 먼저 오기 때문에 순서에 유의하십시오.

  • (decimal, integer)
import math

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

각각은 다음과 같이 압축을 풀고 별도의 변수에 할당할 수 있습니다. 정수 및 소수 부분은 모두 부동 소수점 유형입니다.

f, i = math.modf(1.5)

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

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

부호는 정수 및 소수 부분 모두에 대한 원래 값의 부호와 동일합니다.

f, i = math.modf(-1.5)

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

int 유형에 적용할 수 있습니다. 이 경우 정수 부분과 소수 부분은 모두 부동 소수점 형식입니다.

f, i = math.modf(100)

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

소수점 이하 자릿수를 구하지 않고 float 유형이 정수인지(즉, 소수점 이하 자릿수가 0인지) 확인하려면 다음 방법을 사용할 수 있습니다. 다음 기사를 참조하십시오.

  • float.is_integer()