• python2 中文小写数字转换成阿拉伯数字


     def dig2chars(s):
            """
            五百一十二 -->512
            一三二 --> 132
            """
            # 使用unicode编码
            fl = unicode(str(s).decode('gbk').encode('utf-8'), 'utf-8')
            # 先把数字提取
            part = re.compile(r'[〇一二三四五六七八九十百]'.decode('utf-8'))
            fl = part.findall(fl)
            fl = ''.join(fl)
            # 没有百十千是另一种方法处理
            part2 = re.compile(r'[〇一二三四五六七八九]'.decode('utf-8'))
            res2 = part2.findall(fl)
    
            result = 0
            res_str = ''
            r = 1
            fl_l = list(unicode(str(fl), 'utf-8'))
            
            china_dig = {u'〇': 0, u'一': 1, u'二': 2, u'三': 3, u'四': 4, u'五': 5,
                         u'六': 6, u'七': 7, u'八': 8, u'九': 9, u'十': 10, u'百': 100}
            # 反向遍历
            if u'十' in fl_l or u'百' in fl_l:
                for i in range(len(fl_l) - 1, -1, -1):
                    val = china_dig.get(fl_l[i])
                    if val:
                        # 处理十三 十四
                        if val >= 10 and i == 0:
                            if val > r:
                                r = val
                                result = result + val
                            else:
                                r = r * val
                        elif val >= 10:
                            if val > r:
                                r = val
                            else:
                                r = r * val
                        else:
                            result = result + r * val
            elif res2:
                for i in range(len(fl_l)):
                    val = china_dig.get(fl_l[i])
                    if val:
                        res_str += str(val)
                        result = res_str
                    else:
                        result = s
            else:
                result = s
            return result
    

      

  • 相关阅读:
    PHP 语法
    PHP 变量
    为什么说PHP是个集中营
    简单介绍ThinkPHP3.1.3使用笔记
    PHP实现提交表单及输出例子
    linux 用户组以及权限
    linux vim学习
    linux基础指令学习
    pycharm
    Codeforces Round #346 (Div. 2) C题
  • 原文地址:https://www.cnblogs.com/zzay/p/15030300.html
Copyright © 2020-2023  润新知