숫자를 문자열로 변환하기
파이썬에서 숫자를 단순히 문자열로 바꾸고 싶다면 문자열 클래스의 생성자인 str()을 사용하면 됩니다. 예를 들어 다음과 같이 작성할 수 있습니다.
i = 10050 str_i = str(i) print(type(str_i))
실행하면 아래와 같은 결과가 출력됩니다.
<class 'str'>
숫자를 영어 단어로 변환하기
하지만 99를 "ninety-nine"처럼 정수를 실제 영어 단어 형태로 변환하고 싶다면, 기본 제공 함수만으로는 부족합니다. 이 경우 외부 패키지를 사용하거나 직접 변환 로직을 구현해야 합니다.
가장 널리 쓰이는 방법 중 하나는 pynum2word 모듈입니다. 이 모듈은 숫자를 영어 단어로 자연스럽게 변환해 주며, 설치도 간단합니다. 다음 명령어로 설치할 수 있습니다.
$ 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() 함수는 작은 숫자부터 천 단위 이상의 큰 숫자까지 정확한 영어 표기로 변환해 줍니다.
대안: num2words 라이브러리
또 다른 인기 있는 선택지는 num2words 패키지입니다. 영어뿐 아니라 한국어, 스페인어 등 다양한 언어를 지원하므로 다국어 처리가 필요한 프로젝트에서 특히 유용합니다.
$ pip install num2words
>>> from num2words import num2words >>> num2words(42) 'forty-two' >>> num2words(1234, lang='ko') '천이백삼십사'
정리하자면, 단순한 문자열 변환은 str()로 충분하지만, 사람이 읽을 수 있는 단어 형태의 출력이 필요하다면 pynum2word나 num2words 같은 전용 라이브러리를 활용하는 것이 가장 효율적입니다.