⚙️ 개발
읽기 어려운 만, 억, 조, 경 숫자 단위를 문자열로 변환하기
아래 숫자를 읽어보세요!
1번: 123456789
2번: 123,456,789
3번: 1억 2345만 6789
당연하게도 3번이 가장 읽기가 편했을 겁니다.
3번처럼 숫자를 쉽게 읽을 수 있는 프로그램을 파이썬으로 구현을 해보았습니다.
def num_text(_num: int, result: str = ""): if _num >= 10000000000000000: result += f" {_num // 10000000000000000:,}경" _num = _num % 10000000000000000 if _num >= 1000000000000: result += f" {_num // 1000000000000:,}조" _num = _num % 1000000000000 if _num >= 100000000: result += f" {_num // 100000000:,}억" _num = _num % 100000000 if _num >= 10000: result += f" {_num // 10000:,}만" _num = _num % 10000 if _num >= 1: result += f" {_num:,}" return result print(1234566) # 1234567 print("{:,}".format(1234567)) # 1,234,567 print(num_text(1234567)) # 123만 4,567
코딩이 잘 되었는지 확인해 보겠습니다.
print("{:,}".format(1234567)) > 1,234,567
이렇게 2번 방식을 표현을 해봤습니다. 2번은 천 단위마다 콤마를 찍는 건데 이것은 문자열 포매팅으로 쉽게 표현을 할 수 있습니다.
"""함수 코드 입니다.""" def num_text(_num: int, result: str = ""): if _num >= 10000000000000000: result += f" {_num // 10000000000000000:,}경" _num = _num % 10000000000000000 if _num >= 1000000000000: result += f" {_num // 1000000000000:,}조" _num = _num % 1000000000000 if _num >= 100000000: result += f" {_num // 100000000:,}억" _num = _num % 100000000 if _num >= 10000: result += f" {_num // 10000:,}만" _num = _num % 10000 if _num >= 1: result += f" {_num:,}" return result
함수 내용을 간단하게 설멍하자면
_num, result 매개변수를 선언해 주고 _num 변수는 숫자를 입력받아야 하니 int(정수형)를 result 변수는 결괏값을 넣어서 반환시켜야 하니 str(문자열)로 지정해 줍니다.그리고 입력받은
_num 변수가 알맞은 if문에 들어가서 계산을 진행하고 계산 결과가 result에 반영되어 Return 시키는 함수입니다.print(num_text(1234567)) > 123만 4,567
이렇게 3번 방식을 표현했는데 숫자를 더 쉽게 읽을 수 있지 않나요? 깨알같이 2번의 문자열 포매팅도 응용되어 있습니다🫢
