본문 바로가기
Python/Python FAQ

Python 파이썬에서 부동 소수점 숫자를 고정된 너비로 포맷하는 방법은 어떻게 되나요?, How to format a floating number to fixed width in Python

by 베타코드 2023. 10. 26.
반응형

질문


다음 요구 사항을 충족시키기 위해 부동 소수점을 고정 너비로 형식화하는 방법은 무엇인가요:

  1. n < 1인 경우 선행 0 추가
  2. 고정 너비를 채우기 위해 소수점 뒤에 0 추가
  3. 고정 너비를 초과하는 소수 자릿수는 절삭
  4. 모든 소수점을 정렬

예를 들어:

% formatter something like '{:06}'
numbers = [23.23, 0.123334987, 1, 4.223, 9887.2]

for number in numbers:
    print formatter.format(number)

출력은 다음과 같을 것입니다.

  23.2300
   0.1233
   1.0000
   4.2230
9887.2000

답변


numbers = [23.23, 0.1233, 1.0, 4.223, 9887.2]                                                                                                                                                   
                                                                                                                                                                                                
for x in numbers:                                                                                                                                                                               
    print("{:10.4f}".format(x)) 

출력 결과

   23.2300
    0.1233
    1.0000
    4.2230
 9887.2000

중괄호 안의 포맷 지정자는 파이썬 포맷 문자열 구문을 따릅니다. 특히, 이 경우에는 다음과 같은 부분으로 구성됩니다:

  • 콜론(:) 뒤의 빈 문자열은 "다음으로 제공된 인수를 format()에 사용"을 의미합니다 - 이 경우에는 유일한 인수로서의 x입니다.
  • 콜론(:) 뒤의 10.4f 부분은 포맷 지정입니다.
  • f는 고정 소수점 표기법을 나타냅니다.
  • 10은 출력되는 필드의 총 너비로, 왼쪽에 공백으로 채워집니다.
  • 4는 소수점 이하의 숫자 자릿수입니다.
반응형

댓글