100以内

def number_C2E(ChineseNumber):"""中文数字转整形"""map = dict(〇=0, 一=1, 二=2, 三=3, 四=4, 五=5, 六=6, 七=7, 八=8, 九=9, 十=10)size = len(ChineseNumber)if size == 0 : return 0if size < 2:return map[ChineseNumber]ans = 0continue_flag = False  # 连续进两个的标志位for i in range(size):if continue_flag:continue_flag = Falsecontinueif i+1 < size and ChineseNumber[i+1] == '十':ans += map[ChineseNumber[i]]*10continue_flag = Truecontinueans += map[ChineseNumber[i]]return ansans = number_C2E('十九')
print(ans)

输出:
19

十万以内

def number_C2E(ChineseNumber):"""中文数字转整形"""map = dict(〇=0, 零=0, 一=1, 二=2, 三=3, 四=4, 五=5, 六=6, 七=7, 八=8, 九=9, 十=10)bit_map = dict(十=10, 百=100, 千=1000, 万=10000)size = len(ChineseNumber)if size == 0: return 0if size < 2:return map[ChineseNumber]ans = 0continue_flag = False  # 连续进两个的标志位for i in range(size):if continue_flag:continue_flag = Falsecontinueif i + 1 < size:if ChineseNumber[i + 1] in bit_map.keys():ans += map[ChineseNumber[i]] * bit_map[ChineseNumber[i + 1]]continue_flag = Truecontinueans += map[ChineseNumber[i]]return ans
print(number_C2E('九万零一百零一'))

输出:
90101

一亿以内

def number_C2E(ChineseNumber):"""中文数字转整形"""map = dict(〇=0, 零=0, 一=1, 二=2, 三=3, 四=4, 五=5, 六=6, 七=7, 八=8, 九=9, 十=10)bit_map = dict(十=10, 百=100, 千=1000)bit_map_w = dict(万=10000)size = len(ChineseNumber)if size == 0: return 0if size < 2:return map[ChineseNumber]ans = 0continue_flag = False  # 连续进两个的标志位for i in range(size):if continue_flag:continue_flag = Falsecontinueif ChineseNumber[i] in bit_map_w.keys():ans = ans * bit_map_w[ChineseNumber[i]]continue_flag = Truecontinueif i + 1 < size:if ChineseNumber[i + 1] in bit_map.keys():ans += map[ChineseNumber[i]] * bit_map[ChineseNumber[i + 1]]continue_flag = Truecontinueans += map[ChineseNumber[i]]return ans

支持很大的数字

def number_C2E(ChineseNumber):"""中文数字转整形"""map = dict(〇=0, 零=0, 一=1, 二=2, 三=3, 四=4, 五=5, 六=6, 七=7, 八=8, 九=9, 十=10)bit_map = dict(十=10, 百=100, 千=1000)bit_map_w = dict(万=10000, 亿=100000000)size = len(ChineseNumber)if size == 0: return 0if size < 2:return map[ChineseNumber]if '亿' in ChineseNumber:numbers = ChineseNumber.split('亿')print(numbers)left = number_C2E(numbers[0])*bit_map_w['亿']right = number_C2E(numbers[1])print(left)print(right)return left + rightans = 0continue_flag = False  # 连续进两个的标志位for i in range(size):if continue_flag:continue_flag = Falsecontinueif ChineseNumber[i] in bit_map_w.keys():ans = ans * bit_map_w[ChineseNumber[i]]continue_flag = Truecontinueif i + 1 < size:if ChineseNumber[i + 1] in bit_map.keys():ans += map[ChineseNumber[i]] * bit_map[ChineseNumber[i + 1]]continue_flag = Truecontinueans += map[ChineseNumber[i]]return ans

Python中文数字转阿拉伯数字相关推荐

  1. python 中文数字转换为阿拉伯数字

    数字为3位数字以内,如下: 一百八十四 一百四 一百十四 十四 四 十 一百 一百零一 对应python代码如下: numDict = {'一': 1, '二': 2, '三': 3, '四': 4, ...

  2. cn2.php中文,Python使用cn2an实现中文数字与阿拉伯数字的相互转换

    工作中经常遇到阿拉伯数字转换称为中文数字或者大写金额,在网上搜了下,cn2an口碑较好,遂进行了一番学习. 安装 pip install cn2an 依赖库为setuptools.PyYAML 查看版 ...

  3. Python:中文数字转换为阿拉伯数字

    Python: 中文数字转换为阿拉伯数字 方法 代码 测试结果 方法 将中文数字字符串识别为一个个片段,每个片段包含数字和数位两部分,例如:"三千七百五十二"将被识别成" ...

  4. python数字转中文字符_Python实现中文数字转换为阿拉伯数字的方法示例

    本文实例讲述了Python实现中文数字转换为阿拉伯数字的方法.分享给大家供大家参考,具体如下: 一.需求 今天写了三千二百行代码. 今天写了3200行代码. 两行意思相同,只是表达方式不太能够,统一掉 ...

  5. python数字转换_Python实现中文数字转换为阿拉伯数字的方法示例

    本文实例讲述了Python实现中文数字转换为阿拉伯数字的方法.分享给大家供大家参考,具体如下: 一.需求 今天写了三千二百行代码. 今天写了3200行代码. 两行意思相同,只是表达方式不太能够,统一掉 ...

  6. 中文数字与阿拉伯数字转换(Python)

    cn2an 是一个快速转化 中文数字 和 阿拉伯数字 的工具包 相关链接 cn2an工具包Github地址 在线测试平台 install git clone https://github.com/Ai ...

  7. 已解决(Python cn2an库实现中文数字与阿拉伯数字互转)ValueError: mode 仅支持 [‘low‘, ‘up‘, ‘rmb‘, ‘direct‘]

    已解决(Python cn2an库实现中文数字与阿拉伯数字互转)ValueError: mode 仅支持 ['low', 'up', 'rmb', 'direct'] 文章目录 报错内容 报错翻译 报 ...

  8. 使用cn2an实现中文数字与阿拉伯数字的相互转换

    工作中经常遇到阿拉伯数字转换称为中文数字或者大写金额,在网上搜了下,cn2an口碑较好,遂进行了一番学习. 安装 pip install cn2an 依赖库为setuptools.PyYAML 查看版 ...

  9. 中文数字与阿拉伯数字的转换

    工作中,中文大写数字/金额需要转为阿拉伯数字,原本自己写的解析转换太麻烦. 忽然发现有做好的模块cn2an: 优点: 1.可以直接识别句子中的中文数字,省去写re   2.不同的匹配模式控制精确度 缺 ...

最新文章

  1. Bchd开发出可替代BCH全节点的公开API——gRPC
  2. 全网Star最多「近20k」的Spring Boot开源教程 2019 年要继续更新了
  3. python语法教程-Python语法教程总结规范
  4. 针对应用开发者的几点建议
  5. HDU 4283:You Are the One(区间DP)
  6. android图片编解码architecture
  7. (九)React面试真题演练
  8. matlab双纵坐标的绘图命令_MATLAB基础学习之绘图基本命令
  9. 【转】ABP源码分析四十二:ZERO的身份认证
  10. JS关键字和保留字汇总
  11. Vigenère密码(洛谷P1079题题解,Java语言描述)
  12. Jeecg入门篇,高手掠过
  13. 信息学奥赛一本通 1309:【例1.6】回文数(Noip1999) | 洛谷 P1015 [NOIP1999 普及组] 回文数
  14. 马斯克:全力支持狗狗币主要持有者出售货币 持仓太集中是问题
  15. 中国象棋程序的设计与实现(七)--心得体会和开发日志
  16. win7计算机怎么录屏,win7电脑怎么录屏?这个实用工具给你答案!
  17. 运营商推无限流量卡:这是不是一记昏招?
  18. github官网打开速度很慢的解决办法
  19. 一人干翻专业机构,27岁华裔小伙一战成名!搞出美国新冠最准预测模型,彭博:Superstar
  20. 如何在线批量转换图片格式为jpg?

热门文章

  1. Solr的工作原理以及如何管理索引库
  2. 自然语言处理之情感分析
  3. 在Ubuntu 18.04下安装INCISIVE151
  4. Pytest参数化-详解
  5. w10新建文件夹就卡死_Win10系统新建文件夹假死的3种解决方法
  6. MSSQL 视图/事务(TRAN[SACTION])/存储过程(PROC[EDURE])/触发器(TRIGGER )
  7. DHCP Snooping实验
  8. ubuntu18.0.4安装eclipse完整过程
  9. 多任务进化优化算法(三)利用显式自编码器的进化多任务、基于生物群落共生的进化多任务优化简介
  10. DDoS 攻击继续激增