• 欢迎访问1024小神,一个只会Python的程序猿不是一个好司机
  • 有什么想对我说的可以在留言板里给我留言哦~
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏1024小神吧

python3汉字转阿拉伯数字

Python 1024小神 3个月前 (07-04) 83次浏览 0个评论
# 把汉字变为阿拉伯数字
def chinese2digits(chinese_str):
    t = chinese_str
    if t is None or t.strip() == "":
        raise Exception("input error for %s" % chinese_str)
    t = t.strip()
    t = t.replace("百十", "百一十")
    common_used_numerals = {'零': 0, '一': 1, '二': 2, '两': 2, '三': 3, '四': 4, '五': 5, '六': 6, '七': 7, '八': 8, '九': 9,
                            '十': 10, '百': 100, '千': 1000, '万': 10000, '亿': 100000000}
    total = 0
    r = 1
    for i in range(len(t) - 1, -1, -1):
        val = common_used_numerals.get(t[i])
        if val is None:
            raise Exception("%s can not be accepted." % t[i])
        if val >= 10 and i == 0:
            if val > r:
                r = val
                total = total + val
            else:
                r = r * val
        elif val >= 10:
            if val > r:
                r = val
            else:
                r = r * val
        else:
            total = total + r * val
    return total


if __name__ == '__main__':
    hanzi = "二万一百七十七"
    shuzi = chinese2digits(hanzi)
    print("转换后的数字是:", shuzi)

使用方法:


如有失效,请留言告知丨转载请注明原文链接:python3汉字转阿拉伯数字
点赞 (0)

您必须 登录 才能发表评论!