Python/파이썬 기초

파이썬 소수점 출력 포맷 지정 방법 정리(%.2f, %10.2f, %010.2f 등)

jimmy_AI 2022. 3. 20. 14:32
반응형

파이썬 소수점 포맷팅 자릿수 지정, 공백 채움, 0 채움 예제

이번 글에서는 파이썬에서 소수점을 출력할 때, 원하는 자릿수까지 지정하는 방법과

칸 수를 지정하여 남은 앞 칸들에 공백 혹은 0을 채우는 방법에 대해서 정리해보겠습니다.

 

 

기본 소수점 출력 자릿수 지정 : %.2f 형식

실수 자료형을 포맷팅하는 경우, n번째 자릿수까지 반올림한 값을 출력하고 싶다면

%.nf 형태로 출력 형식을 지정해주시면 됩니다.

 

단, 전체 자릿수보다 더 많은 숫자를 지정하게 되면 남은 공간은 뒤에 0을 채우면서 출력합니다.

pi = 3.1416

print('소수점 1자리 출력 : %.1f'%pi)
print('소수점 2자리 출력 : %.2f'%pi)
print('소수점 3자리 출력 : %.3f'%pi)
print('소수점 4자리 출력 : %.4f'%pi)
print('소수점 5자리 출력 : %.5f'%pi)
print('소수점 6자리 출력 : %.6f'%pi)

# 출력 결과
소수점 1자리 출력 : 3.1
소수점 2자리 출력 : 3.14
소수점 3자리 출력 : 3.142
소수점 4자리 출력 : 3.1416
소수점 5자리 출력 : 3.14160
소수점 6자리 출력 : 3.141600

%.5f와 %.6f의 경우에는 남은 뒷 자리에 0을 채우면서 출력된 것을 확인할 수 있었습니다.

 

 

공백 채움 소수점 출력 자릿수 지정 : %10.2f 형식

해당 실수가 출력될 전체 공간의 크기를 미리 지정하여 출력하는 것도 가능합니다.

 

만일, 전체 m칸 공간을 마련하여 남은 앞 칸에 공백을 채워 소수점 n자리까지 출력하고 싶다면

%m.nf 형태로 포맷팅 양식을 지정해주시면 됩니다.

 

여기서 칸을 셀 때, 소수점을 구분하는 .도 공간 1칸을 차지하는 것으로 간주합니다.

반응형
pi = 3.1416

print('10칸 공백 채움 소수점 1자리 출력 :%10.1f'%pi)
print('10칸 공백 채움 소수점 2자리 출력 :%10.2f'%pi)
print('10칸 공백 채움 소수점 3자리 출력 :%10.3f'%pi)
print('10칸 공백 채움 소수점 4자리 출력 :%10.4f'%pi)
print('10칸 공백 채움 소수점 5자리 출력 :%10.5f'%pi)
print('10칸 공백 채움 소수점 6자리 출력 :%10.6f'%pi)

# 출력 결과
10칸 공백 채움 소수점 1자리 출력 :       3.1
10칸 공백 채움 소수점 2자리 출력 :      3.14
10칸 공백 채움 소수점 3자리 출력 :     3.142
10칸 공백 채움 소수점 4자리 출력 :    3.1416
10칸 공백 채움 소수점 5자리 출력 :   3.14160
10칸 공백 채움 소수점 6자리 출력 :  3.141600

예를 들어, %10.6f의 경우 숫자들이 일의 자리인 3과 .과 소수점 6자리를 합쳐

총 8칸을 차지하고 있으므로, 남은 2칸은 앞쪽에 공백이 채워져서 출력됩니다.

 

 

0 채움 소수점 출력 자릿수 지정 : %010.2f 형식

위에서 다룬 공백 채움 방법과 마찬가지로 전체 공간의 크기를 미리 지정하는 것은 동일하나,

남은 앞 칸에 공백 대신 0을 채워서 출력(전체 m칸 공간, 소수점 n자리까지 포맷팅)하고 싶다면

%0m.nf 형식으로 포맷팅 양식을 지정해주시면 됩니다.

pi = 3.1416

print('10칸 0채움 소수점 1자리 출력 :%010.1f'%pi)
print('10칸 0채움 소수점 2자리 출력 :%010.2f'%pi)
print('10칸 0채움 소수점 3자리 출력 :%010.3f'%pi)
print('10칸 0채움 소수점 4자리 출력 :%010.4f'%pi)
print('10칸 0채움 소수점 5자리 출력 :%010.5f'%pi)
print('10칸 0채움 소수점 6자리 출력 :%010.6f'%pi)

# 출력 결과
10칸 0채움 소수점 1자리 출력 :00000003.1
10칸 0채움 소수점 2자리 출력 :0000003.14
10칸 0채움 소수점 3자리 출력 :000003.142
10칸 0채움 소수점 4자리 출력 :00003.1416
10칸 0채움 소수점 5자리 출력 :0003.14160
10칸 0채움 소수점 6자리 출력 :003.141600

이 경우에도 소수점을 나타내는 .도 전체 칸 수에 포함시키는 것으로 간주합니다.