Python/Python 예제 코드

한글 표기 가격을 만원 단위로 변환하는 Python 예제

webnautes 2024. 8. 13. 22:41
반응형

1억 1천만원을 1001만원으로 바꾸는 것처럼 한글이 포함된 가격 표시를 만원 단위로 바꾸는 파이썬 예제코드입니다.

 

2024. 8. 11 최초작성



실행 결과입니다.

 

5000만원 -> 5000만원

1억 1천만원 -> 10001만원

2억원 -> 20000만원

15000원 -> 1만원

2만 5000원 -> 2만원

삼십억 이천만원 -> 10001만원

1억 5천 -> 10000만원



전체 코드입니다.

 

def convert_to_manwon(amount_str):
    amount_str = amount_str.replace(',', '').replace(' ', '').replace('원', '').strip()
    total = 0
    num_map = {'십': 10, '백': 100, '천': 1000, '만': 10000, '억': 100000000}
    unit_values = {unit: 0 for unit in num_map.keys()}
   
    current_num = 0
    for char in amount_str:
        if char.isdigit():
            current_num = current_num * 10 + int(char)
        elif char in num_map:
            if current_num == 0:
                current_num = 1
            unit_values[char] = current_num * num_map[char]
            current_num = 0
   
    if current_num > 0:
        total += current_num
   
    for value in unit_values.values():
        total += value
   
    return total // 10000 if total >= 10000 else total / 10000

# 테스트
amounts = ['5000만원', '1억 1천만원', '2억원', '15000원', '2만 5000원', '삼십억 이천만원', '1억 5천']
for amount in amounts:
    result = convert_to_manwon(amount)
    print(f"{amount} -> {result}만원")



5000만원 -> 5000만원

1억 1천만원 -> 10001만원

2억원 -> 20000만원

15000원 -> 1만원

2만 5000원 -> 2만원

삼십억 이천만원 -> 10001만원

1억 5천 -> 10000만원




반응형