Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬에서 숫자를 사람이 읽기 쉬운 형태로 변환하는 방법

정수를 영어 단어로 변환하기

99를 'ninety-nine'처럼 정수를 영어 단어로 변환하고 싶다면, 파이썬 기본 라이브러리만으로는 불가능하므로 외부 패키지를 사용하거나 직접 구현해야 합니다. 이런 작업에는 pynum2word 모듈이 매우 유용합니다.

먼저 pip를 이용해 패키지를 설치합니다.

$ pip install pynum2word

설치가 완료되면 다음과 같이 사용할 수 있습니다.

>>> import num2word
>>> num2word.to_card(16)
'sixteen'
>>> num2word.to_card(23)
'twenty-three'
>>> num2word.to_card(1223)
'one thousand, two hundred and twenty-three'

위 예시에서 볼 수 있듯이, to_card() 함수는 숫자를 카디널(cardinal) 형태의 영어 단어로 변환해 줍니다. 작은 숫자부터 천 단위 이상의 큰 숫자까지 자연스러운 문장 형태로 출력됩니다.

큰 숫자를 축약형으로 표현하기

1,230,000을 '1.23 million'처럼 간결하고 읽기 쉬운 형태로 표현하고 싶다면 humanize 라이브러리를 사용하면 됩니다. 이 라이브러리는 숫자뿐 아니라 날짜, 파일 크기 등도 사람이 이해하기 쉬운 형태로 바꿔 주는 다양한 기능을 제공합니다.

다음 명령으로 설치할 수 있습니다.

$ pip install humanize

설치 후 아래와 같이 사용합니다.

>>> import humanize
>>> humanize.intword(1230000)
'1.23 million'

intword() 함수는 백만(million), 십억(billion) 단위의 큰 숫자를 축약된 문자열로 변환해 주므로, 대시보드나 리포트에서 통계 수치를 표시할 때 특히 유용합니다. 참고로 같은 라이브러리의 intcomma() 함수를 사용하면 1230000을 '1,230,000'처럼 천 단위 콤마가 포함된 형태로도 변환할 수 있습니다.