• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

%f에서 총 출력 자릿수가 이해가 안되는 부분이 있습니다.

20.05.27 16:43 작성 조회수 141

0

print('{:10.2f}'.format(12345678.923))

을 적으면 출력값으로 12345678.92가 나오는데

강의대로라면 10.2f니까 소수점포함해서 총 10칸이어야 하잖아요.

근데 12345678.92는 소수점 포함해서 총 10칸이 아니라 11칸인데 왜 그런건가요? 소수점 밑으로 2칸을 만들어야 하는데 10칸으로 하면 값이 짤리기 때문에 억지로 11칸이 나온건가요?

답변 1

답변을 작성해보세요.

1

.2 부분이 길이가 넘더라도 고정소수점을 두 자리로 표현하기로 했기 때문에 12345678.92 출력 값이 나온거예요.

24.2.3  서식 지정자로 소수점 표현하기

숫자 중에 소수점으로 된 실수를 넣어야 할 경우도 있습니다.

  • '%f' % 숫자
>>> '%f' % 2.3
'2.300000'

실수를 넣을 때는 %f를 사용하며 고정 소수점 fixed point의 f입니다. %f는 기본적으로 소수점 이하 6자리까지 표시하므로 2.3은 2.300000으로 표시됩니다.

소수점 이하 자릿수를 지정하고 싶다면 다음과 같이 f 앞에 .(점)과 자릿수를 지정해주면 됩니다.

  • '%.자릿수f' % 숫자
>>> '%.2f' % 2.3
'2.30'
>>> '%.3f' % 2.3
'2.300'