# -*- coding: utf-8 -*-
# 最大值:九兆九千九百九十九亿九千九百九十九万九千九百九十九
import re
p = ['', '', '', '', '', '', '', '', '亿', '', '', '', '']
s = ['', '', '', '', '', '', '', '', '', '']
def num2zh(num_str):
    res = ''
    t = list(str(num_str))
    t.reverse()
    for idx, tmp in enumerate(t):
        if int(tmp) == 0:
            res = '' + res
            if idx % 4 == 0 and idx > 0:
                res = p[idx] + res
            continue
        res = s[int(tmp)] + p[idx] + res
    # 零+ -> 零
    out = re.sub(r'(\xe9\x9b\xb6)+', '', res)
    # 零万 -> 万
    out = re.sub(r'\xe9\x9b\xb6\xe4\xb8\x87', '', out)
    # 一十 -> 十
    out = re.sub(r'(^\xe4\xb8\x80\xe5\x8d\x81)', '', out)
    # 零亿 -> 亿 
    out = re.sub(r'\xe9\x9b\xb6\xe4\xba\xbf', '亿', out)
    # 亿万 -> 亿 
    out = re.sub(r'\xe4\xba\xbf\xe4\xb8\x87', '亿', out)
    # 兆亿 -> 兆 
    out = re.sub(r'\xe5\x85\x86\xe4\xba\xbf', '', out)
    # 去掉最后的零
    out = re.sub(r'(\xe9\x9b\xb6)$', '', out)
    return out
print(num2zh(1234))

 

相关文章:

  • 2022-12-23
  • 2022-03-06
  • 2021-05-31
  • 2021-12-21
  • 2022-02-11
  • 2022-02-08
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-28
  • 2022-01-28
  • 2022-12-23
  • 2021-06-27
  • 2021-12-31
  • 2021-06-04
相关资源
相似解决方案