인프런 커뮤니티 질문&답변

전성현님의 프로필 이미지
전성현

작성한 질문수

파이썬 %f출력값 질문

작성

·

34

0

print('%06.2f' % (3.14235325125)) 이것을 출력하면 003.14 이렇게 나오는데

출력값 뜻이 정수는 6자리나오고 실수는 2자리까지 나오라는 뜻인가요?

그러면 위에 뜻이 맞다면

print('%03.2f' % (1234.14235325125)) 이렇게 출력했을때

123.14 로 출력이 되어야 맞지 않나요…? 근데 1234.14 이렇게 출력이 되어서 왜 그런지 모르겠어요…

파이썬 기초로 공부중인데 이해가 되지 않습니다…ㅜㅜ

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

전성현님, 질문하신 내용에 대해 설명드리겠습니다.

'%06.2f' % (3.14235325125)에서 %06.2f는 포맷 코드로, 실수를 문자열로 표현할 때 사용됩니다. 여기서 6은 전체 자리수(소수점 포함)를 의미하고, .2는 소수점 아래 숫자를 두 자리까지 표시함을 의미합니다. 따라서, 전체 최소 길이가 6자리가 되도록 왼쪽에 0을 채우고, 소수점 아래는 두 자리까지 나타내라는 뜻입니다. 그래서 003.14라는 결과가 나오게 됩니다.

다음으로, print('%03.2f' % (1234.14235325125))의 경우, 여기서 %03.2f는 최소 전체 길이를 3으로 하고 소수점 아래 2자리까지 표시하라는 의미입니다. 하지만 실제 숫자의 길이가 3보다 클 경우, 최소 길이 조건은 무시되고 숫자가 그대로 출력됩니다. 그래서 1234.14이 출력된 것이며, 정수 부분의 길이에 관계없이 소수점 아래 2자리만 출력된 것입니다.

따라서, %03.2f에서 3은 최소 길이를 의미하지만, 출력해야 하는 숫자의 전체 길이가 이보다 클 경우에는 전체 숫자가 모두 출력되며, 이때 소수점 아래 자릿수는 .2f에서 지정한 대로 2자리만 표시됩니다.

전성현님의 프로필 이미지
전성현

작성한 질문수

질문하기