본문 바로가기
Category/Python

Python 소수점 자리수 제어와 숫자 포매팅 :.nf

by Corinee 2024. 12. 3.
728x90
반응형

Python에서 숫자 포매팅과 소수점 제어는 어떻게 할까요?

Python으로 작업하다 보면 숫자를 특정 형식으로 출력하거나 소수점 이하 자리수를 조정해야 할 때가 많습니다.
예를 들어, 계산 결과를 소수점 이하 3자리까지만 표시하거나, 천 단위 구분 기호를 추가해야 하는 경우 등이 있습니다.

:.nf란 무엇인가요?

:.nf는 Python에서 숫자를 소수점 이하 3자리로 제한하여 출력하는 포매팅 옵션입니다.
이 문법을 사용하면 자동 반올림과 함께 보기 좋은 숫자 형식을 만들 수 있습니다.

기본 문법:

{value:.nf}
  • value: 출력할 숫자 값.
  • n: 표시할 소수점 이하 자리수.
  • f: 고정 소수점(fixed-point) 형식.

1. :.3f 사용 예제

소수점 이하 3자리까지 출력

value = 1.23456
print(f"{value:.3f}")

출력:

1.235
  • 1.23456은 소수점 이하 셋째 자리에서 반올림되어 출력됩니다.

부족한 자리를 0으로 채우기

value = 1.2
print(f"{value:.3f}")

출력:

1.200
  • 자리수를 맞추기 위해 부족한 부분은 0으로 채워집니다.

숫자의 전체 폭 지정

value = 123.4
print(f"{value:10.2f}")

출력:

    123.40
  • 10.2f에서 10은 출력 폭(칸)을 지정하며, 오른쪽 정렬됩니다.
  • 소수점 이하 2자리까지 출력합니다.

천 단위 구분 기호 추가

value = 1234567.89
print(f"{value:,.2f}")

출력:

1,234,567.89
  • :,는 천 단위 구분 기호를 추가합니다.

2. :.3f와 다른 포매팅 옵션 비교

Python에서는 f-stringformat() 두 가지 방법으로 숫자를 포매팅할 수 있습니다.

f-string 방식 (Python 3.6 이상)

value = 123.456
print(f"{value:.2f}")

출력:

123.46

format() 방식

value = 123.456
print("{:.2f}".format(value))

출력:

123.46
  • 두 방식은 동일한 결과를 출력하지만, f-string은 간결하고 가독성이 좋아 최근 Python 코드에서 더 많이 사용됩니다.

3. 실제 활용 예제

1. 과학 계산에서 결과 출력

pi = 3.14159265359
print(f"The value of pi is approximately {pi:.3f}")

출력:

The value of pi is approximately 3.142

2. 금융 데이터 표시

balance = 12345.6789
print(f"Your account balance is: ${balance:,.2f}")

출력:

Your account balance is: $12,345.68

4. 포매팅 옵션 요약

          표현식                                                     설명                                                                       예제 출력

:.nf 소수점 이하 n자리까지 고정 1.235
:n.mf 전체 n칸, 소수점 이하 m자리 1.23
:0n.mf 전체 n칸, 빈 자리를 0으로 채움 001.23
:,.mf 천 단위 구분 기호와 소수점 이하 m자리 표시 1,000.12