작성
·
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자리만 표시됩니다.