반응형
파이썬에서 지정된 자리수로 숫자 표시하기
프로그래밍을 하다 보면 숫자를 일정한 형식으로 출력해야 할 때가 많습니다. 예를 들어, 소수점 이하 특정 자리까지 표현하거나, 정수를 항상 두 자리로 맞추는 등의 작업이 필요할 수 있습니다. 파이썬에서는 다양한 방법으로 숫자를 원하는 형식으로 변환할 수 있습니다. 이번 포스트에서는 파이썬에서 숫자를 지정된 자리수로 표시하는 방법을 살펴보겠습니다.
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()는 단순한 반올림 작업에 적합합니다.
반응형
'코딩취미 > Python' 카테고리의 다른 글
[Python] 데코레이터의 종류와 특징, 사용 방법 정리 (0) | 2025.02.25 |
---|---|
[Python & PySide6] Slot을 사용하는 이유와 Slot 데코레이터의 차이점 (0) | 2025.02.25 |
PyQt6에서 QScrollArea 사용법: QWidget에 ScrollArea 설정하고 그룹박스 활용하기 (0) | 2025.02.24 |
PySide6에서 QGroupBox를 트리뷰처럼 활용하는 방법 (0) | 2025.02.24 |
PySide6에서 findChildren()을 활용하는 방법 (0) | 2025.02.23 |