본문 바로가기
코딩취미/Python

파이썬에서 지정된 자리수로 숫자 표시하기

by 브링블링 2025. 2. 24.
반응형

파이썬에서 지정된 자리수로 숫자 표시하기

프로그래밍을 하다 보면 숫자를 일정한 형식으로 출력해야 할 때가 많습니다. 예를 들어, 소수점 이하 특정 자리까지 표현하거나, 정수를 항상 두 자리로 맞추는 등의 작업이 필요할 수 있습니다. 파이썬에서는 다양한 방법으로 숫자를 원하는 형식으로 변환할 수 있습니다. 이번 포스트에서는 파이썬에서 숫자를 지정된 자리수로 표시하는 방법을 살펴보겠습니다.

1. 소수점 자리수 지정하기

1.1 f-string 사용하기 (Python 3.6 이상)

num = 123.456789
formatted = f"{num:.2f}"  # 소수점 둘째 자리까지 표시
print(formatted)  # 출력: 123.46
  • {:.2f}: 소수점 아래 두 자리까지 표시하며, 반올림됩니다.

1.2 format() 함수 사용하기

num = 123.456789
formatted = "{:.2f}".format(num)
print(formatted)  # 출력: 123.46
  • "{:.2f}": f-string과 동일한 방식으로 소수점 이하 두 자리까지 출력합니다.

1.3 round() 함수 사용하기

num = 123.456789
rounded = round(num, 2)  # 소수점 둘째 자리까지 반올림
print(rounded)  # 출력: 123.46
  • round(num, 2): 지정한 소수점 자리까지 반올림합니다.

1.4 Decimal 사용하기

from decimal import Decimal

num = Decimal("123.456789")
formatted = num.quantize(Decimal("0.00"))  # 소수점 둘째 자리까지 표시
print(formatted)  # 출력: 123.46
  • quantize(Decimal("0.00")): 보다 정밀한 계산이 필요한 경우 Decimal을 사용할 수 있습니다.

1.5 % 연산자 사용하기 (구식 스타일)

num = 123.456789
formatted = "%.2f" % num
print(formatted)  # 출력: 123.46
  • "%.2f": 소수점 둘째 자리까지 출력하는 방법입니다.
반응형

2. 정수를 두 자리로 표시하기

2.1 f-string 사용하기

num = 5
formatted = f"{num:02d}"
print(formatted)  # 출력: 05
  • {num:02d}: 정수를 항상 두 자리로 출력하며, 한 자리일 경우 앞에 0을 추가합니다.

2.2 format() 메서드 사용하기

num = 5
formatted = "{:02d}".format(num)
print(formatted)  # 출력: 05
  • "{:02d}": f-string과 동일한 방식입니다.

2.3 zfill() 메서드 사용하기

num = 5
formatted = str(num).zfill(2)
print(formatted)  # 출력: 05
  • zfill(2): 문자열을 2자리로 맞추고, 부족한 자리는 0으로 채웁니다.

2.4 % 연산자 사용하기

num = 5
formatted = "%02d" % num
print(formatted)  # 출력: 05
  • "%02d": 정수를 두 자리로 맞추는 구식 스타일의 방법입니다.

3. 숫자 포맷 정리 테이블

방법 설명 예제 코드 출력
f-string 소수점 둘째 자리까지 출력 f"{num:.2f}" 123.46
format() format()을 사용한 포맷팅 "{:.2f}".format(num) 123.46
round() 반올림하여 지정한 자리까지 표시 round(num, 2) 123.46
Decimal 정밀한 계산을 위한 소수점 조정 num.quantize(Decimal("0.00")) 123.46
% 연산자 구식 스타일의 포맷팅 "%.2f" % num 123.46
f-string 정수 두 자리 정수로 출력 f"{num:02d}" 05
format() 정수 format()을 사용한 정수 포맷팅 "{:02d}".format(num) 05
zfill() 문자열을 두 자리로 채우기 str(num).zfill(2) 05
% 연산자 정수 구식 스타일의 정수 포맷팅 "%02d" % num 05

4. 추가적인 팁

  • f-string은 Python 3.6 이상에서만 사용할 수 있습니다.
  • Decimal 모듈을 사용하면 부동소수점 오차를 방지할 수 있습니다.
  • 정수를 두 자리로 맞출 때는 zfill(), f-string, format()을 적절히 활용하세요.
  • round()는 단순한 반올림 작업에 적합합니다.
반응형