Python 은 디지털 포맷 출력 을 실현 합 니 다.

문제.
숫자 를 포맷 한 후 출력 하고 숫자의 자릿수,정렬,천 자리 구분자 와 다른 디 테 일 을 제어 해 야 합 니 다.
해결 방안
단일 숫자 를 포맷 할 때 내 장 된format() 함 수 를 사용 할 수 있 습 니 다.예 를 들 어:

>>> x = 1234.56789

>>> # Two decimal places of accuracy
>>> format(x, '0.2f')
'1234.57'

>>> # Right justified in 10 chars, one-digit accuracy
>>> format(x, '>10.1f')
'  1234.6'

>>> # Left justified
>>> format(x, '<10.1f')
'1234.6  '

>>> # Centered
>>> format(x, '^10.1f')
' 1234.6 '

>>> # Inclusion of thousands separator
>>> format(x, ',')
'1,234.56789'
>>> format(x, '0,.1f')
'1,234.6'
>>>
지수 표기 법 을 사용 하려 면 f 를 e 또는 E 로 바 꾸 십시오.예 를 들 면:

>>> format(x, 'e')
'1.234568e+03'
>>> format(x, '0.2E')
'1.23E+03'
>>>
너비 와 정 도 를 동시에 지정 하 는 일반적인 형식 은'[<>^]?width[,]?(.digits)?'이 고 그 중에서width digits 는 정수 이다.대표 가 선택 할 수 있 는 부분.같은 형식 도 문자열format() 방법 에 사용 된다.예 를 들 면:

>>> 'The value is {:0,.2f}'.format(x)
'The value is 1,234.57'
>>>
토론 하 다.
디지털 포맷 출력 은 일반적으로 비교적 간단 하 다.위 에서 보 여 준 기술 은 부동 소수점 과decimal 모듈 의Decimal디지털 대상 에 동시에 적용 된다.
지 정 된 숫자의 자릿수 가 되면 결과 값 은round() 함수 와 같은 규칙 에 따라 반올림 한 후에 돌아온다.예 를 들 면:

>>> x
1234.56789
>>> format(x, '0.1f')
'1234.6'
>>> format(-x, '0.1f')
'-1234.6'
>>>
천 자 를 포함 하 는 포맷 은 현지 화 와 관계 가 없다.만약 당신 이 지역 에 따라 천 자리 부 호 를 표시 해 야 한다 면,당신 은 스스로 locale 모듈 의 함 수 를 조사해 야 합 니 다.너 도 문자열translate() 방법 으로 천 자리 부 호 를 교환 할 수 있다.예 를 들 면:

>>> swap_separators = { ord('.'):',', ord(','):'.' }
>>> format(x, ',').translate(swap_separators)
'1.234,56789'
>>>
많은 Python 코드 에서%를 사용 하여 숫자 를 포맷 하 는 것 을 볼 수 있 습 니 다.예 를 들 어:

>>> '%0.2f' % x
'1234.57'
>>> '%10.1f' % x
'  1234.6'
>>> '%-10.1f' % x
'1234.6  '
>>>
이런 포맷 방법 도 가능 하지만,더욱 선진 적 인format() 보다 조금 못 하 다.예 를 들 어%연산 자 를 사용 하여 숫자 를 포맷 할 때 일부 기능(천 자리 문자 추가)은 지원 되 지 않 습 니 다.
이상 은 Python 이 디지털 포맷 출력 을 실현 하 는 상세 한 내용 입 니 다.Python 디지털 포맷 출력 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

좋은 웹페이지 즐겨찾기