파이썬 %.2f 사용법

%.2f란 무엇이고, 언제 사용하나요?

파이썬에서 소수점을 원하는 자리까지만 출력하고 싶을 때 %.2f와 같은 포매팅을 자주 사용합니다. 이 표기는 실수(float) 값을 소수점 아래 둘째 자리까지 반올림해서 문자열로 바꿀 때 쓰는 대표적인 포맷입니다. 예를 들어 3.14159를 소수점 둘째 자리까지 출력하면 3.14가 됩니다.

이 글에서는 %.2f의 기본 사용법, 다른 포매팅 방식과의 차이, 실제 코딩 중 흔히 발생하는 실수와 안전하게 활용하는 방법까지 단계적으로 설명합니다.

가장 단순한 %.2f 사용 예제

먼저, %.2f를 이용해 실수를 소수점 둘째 자리까지 출력하는 가장 기본적인 예제를 살펴봅니다. 일반적으로 % 연산자와 print()를 함께 사용합니다.

실행 결과

원주율은 3.14입니다.


여기서 '%.2f'는 소수점 아래 둘째 자리까지, % pi 부분이 pi 변수의 값을 해당 서식에 맞추어 대입합니다. 즉, 3.14로 깔끔하게 출력됩니다.

포맷 방식별 차이점과 핵심 포인트

파이썬에서는 %.2f 외에도 다양한 방식으로 소수점 자리수를 지정할 수 있습니다. 세 가지 방법을 비교해 보겠습니다.

  1. 퍼센트 포매팅('%.2f' % value)
  2. format 메서드('{:.2f}'.format(value))
  3. f-string(f'{value:.2f}', 파이썬 3.6 이상)

동일한 값을 이 세 가지 방식으로 출력해보겠습니다.

실행 결과

퍼센트 포매팅: 1.57
format 메서드: 1.57
f-string: 1.57

]

세 줄 모두 화면에 1.57이 출력됩니다. 퍼센트 포매팅은 문법이 간단하고 오래전부터 쓰였지만, 최근에는 가독성 좋은 f-string 방식이 많이 사용됩니다. 다만, f-string은 파이썬 3.6 이상에서만 동작합니다.

코드 실행 흐름과 자주 하는 실수

%.2f를 사용할 때 초보자가 자주 실수하는 부분은 다음과 같습니다.

  1. 실수 대신 정수 대입: 정수도 문제없이 소수점까지 출력되지만, 2.00처럼 표시됩니다.
  2. 문자열에 직접 % 연산: 형식이 맞지 않으면 오류가 납니다.
  3. %.2f 자리수 잘못 표기: f 앞 숫자가 빠지거나 오타를 내면 예외가 발생할 수 있습니다.

실수 예시를 하나 살펴보고, 정상 코드를 바로 옆에서 비교해봅니다.

잘못된

num = 3.14159
print('값은 %2f' % num)  # 소수점 자리수 지정이 없음

]

위 코드는 소수점 아래 자릿수가 지정되지 않아 3.141590처럼 여섯 자리까지 출력됩니다.

수정 방법은 아래와 같습니

실행 결과

값은 3.14

6]]

이제 3.14로 출력됩니다. 만약 %.2f가 아니라 %f만 쓴다면 기본적으로 6자리까지 표시됩니다. 원하는 자리수로 맞추려면 반드시 %.2f처럼 숫자를 넣어야 합니다.

round()와 %.2f의 차이점

round() 함수도 소수점 자리수를 제한할 수 있지만, %.2f와는 쓰임이 다릅니다. round()는 실제로 값을 반올림해서 변수에 저장할 때, %.2f는 화면에 출력할 때 포맷을 지정하는 용도입니다. 아래 예제를 확인하

실행 결과

반올림한 값: 5.68
포맷으로 출력한 값: 5.68

_8]]

rounded 변수는 5.68(실제 값), %.2f로 출력하면 문자열 '5.68'이 됩니다. 즉, %.2f는 변수의 원래 값은 바꾸지 않고, 출력할 때만 자리수를 제한합니다.

실제 사용 상황 예시: 금액 계산

소수점 자리수 제한은 특히 금액, 평균, 비율 등에서 많이 활용됩니다. 예를 들어, 세 개 상품의 가격 평균을 소수점 둘째 자리까지 출력하는 코드를 작성해

실행 결과

평균 금액: 18300.00원

_10]]

위 코드는 평균 금액을 18333.33원처럼 소수점 둘째 자리까지만 보여줍니다.

핵심 정리와 연습 문제

핵심 정리

  1. %.2f는 실수 값을 소수점 둘째 자리까지 반올림해 문자열로 표현할 때 사용합니다.
  2. 퍼센트 포매팅, format(), f-string 모두 자리수 제한이 가능합니다.
  3. round()는 값 자체를 반올림, %.2f는 출력 시 포맷만 바꿉니다.
  4. 오타, 자리수 생략, 자료형 혼동 등 실수에 주의하세요.

연습 문제

  1. 실수 7.9876을 소수점 둘째 자리까지 출력하는 코드를 %.2f와 f-string 두 가지 방식으로 작성해보세요.
  2. 숫자 8.125와 2.75의 합계를 소수점 두 자리로 반올림해 출력하려면 어떻게 해야 할까요? (힌트: sum()%.2f 활용)
  3. 사용자가 입력한 실수를 소수점 둘째 자리로 포맷하여 출력하는 프로그램을 만들어 보세요. (힌트: input() 사용)