Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 math.trunc() 함수 완벽 정리 – 소수점 버리기의 모든 것

이 튜토리얼에서는 파이썬의 math.trunc() 메서드에 대해 자세히 알아보겠습니다.

math.trunc()란 무엇인가?

math.trunc()는 실수(float) 값의 소수점 이하를 잘라내고 정수 부분만 반환하는 함수입니다. 'truncate(잘라내다)'라는 단어에서 알 수 있듯이, 반올림 없이 항상 0을 향한 방향으로 소수 부분을 제거합니다.

흥미로운 점은 숫자의 부호에 따라 다른 함수처럼 동작한다는 것입니다.

  • 양수일 때는 math.floor()(내림)와 동일한 결과를 반환합니다.
  • 음수일 때는 math.ceil()(올림)과 동일한 결과를 반환합니다.

예제 1: 양수에서의 동작

먼저 양수에 대해 math.floor()math.trunc()의 결과를 비교해 보겠습니다.

# math 모듈 임포트
import math

# floor 값 확인
print(math.floor(3.5))

# 양수에 대한 trunc
print(math.trunc(3.5))

출력 결과

위 코드를 실행하면 다음과 같은 결과를 얻을 수 있습니다.

3
3

3.5를 내림하면 3이 되고, trunc로 소수점을 버려도 3이 되므로 두 결과가 동일합니다.

예제 2: 음수에서의 동작

이번에는 음수에 대해 math.ceil()math.trunc()의 결과를 비교해 보겠습니다.

# math 모듈 임포트
import math

# ceil 값 확인
print(math.ceil(-3.5))

# 음수에 대한 trunc
print(math.trunc(-3.5))

출력 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

-3
-3

-3.5를 올림하면 -3이 되고, trunc 역시 0을 향해 소수점을 버리므로 -3이 됩니다. 즉, 음수에서는 올림과 같은 효과를 냅니다.

참고: int() 형 변환과의 관계

실수를 int()로 형 변환하는 것도 소수점을 버리는 효과가 있어, 일반적으로 math.trunc(x)int(x)와 같은 결과를 반환합니다. 다만 코드의 의도를 명확하게 드러내고 싶다면 math.trunc()를 사용하는 것이 좋습니다.

마무리

지금까지 파이썬 math.trunc() 함수의 개념과 양수·음수에서의 동작 방식을 살펴보았습니다. 소수점 처리 로직을 구현할 때 floor, ceil, trunc의 차이를 정확히 이해하고 있다면 더 안전한 코드를 작성할 수 있습니다. 튜토리얼에 대해 궁금한 점이 있다면 댓글로 남겨주세요!