Python将汉字数字转换成阿拉伯数字的方法 - 玩蛇网

http://www.iplaypy.com/code/base/b2600.html

Python语言来为不同数字之间做转换之前就有介绍过,今天分享的是用Python将汉字数字转换成阿拉伯数字的方法。汉字数字就是我们的大写数字:零、壹、贰、叁、肆、伍、陆、柒、捌、玖、拾,这种只有在会计人员才会常用的数字。

Python把用汉字表示的数字转换为阿拉伯数字前,需要先用到字典形式,做个对照好方便我们查找转换。

Python将汉字数字转换成阿拉伯数字的方法,源码如下(供参考):

CN_NUM = {u'〇': 0,u'一': 1,u'二': 2,u'三': 3,u'四': 4,u'五': 5,u'六': 6,u'七': 7,u'八': 8,u'九': 9,u'零': 0,u'壹': 1,u'贰': 2,u'叁': 3,u'肆': 4,u'伍': 5,u'陆': 6,u'柒': 7,u'捌': 8,u'玖': 9,u'貮': 2,u'两': 2,
}
CN_UNIT = {u'十': 10,u'拾': 10,u'百': 100,u'佰': 100,u'千': 1000,u'仟': 1000,u'万': 10000,u'萬': 10000,u'亿': 100000000,u'億': 100000000,u'兆': 1000000000000,
}def cn2dig(cn):lcn = list(cn)unit = 0  # 当前的单位ldig = []  # 临时数组while lcn:cndig = lcn.pop()if CN_UNIT.has_key(cndig):unit = CN_UNIT.get(cndig)if unit == 10000:ldig.append('w')  # 标示万位unit = 1elif unit == 100000000:ldig.append('y')  # 标示亿位unit = 1elif unit == 1000000000000:  # 标示兆位ldig.append('z')unit = 1continueelse:dig = CN_NUM.get(cndig)if unit:dig = dig * unitunit = 0ldig.append(dig)if unit == 10:  # 处理10-19的数字ldig.append(10)ret = 0tmp = 0while ldig:x = ldig.pop()if x == 'w':tmp *= 10000ret += tmptmp = 0elif x == 'y':tmp *= 100000000ret += tmptmp = 0elif x == 'z':tmp *= 1000000000000ret += tmptmp = 0else:tmp += xret += tmpreturn ret# ldig.reverse()# print ldig# print CN_NUM[u'七']if __name__ == '__main__':test_dig = [u'九',u'十一',u'一百二十三',u'一千二百零三',u'一万一千一百零一',u'十万零三千六百零九',u'一百二十三万四千五百六十七',u'一千一百二十三万四千五百六十七',u'一亿一千一百二十三万四千五百六十七',u'一百零二亿五千零一万零一千零三十八',u'一千一百一十一亿一千一百二十三万四千五百六十七',u'一兆一千一百一十一亿一千一百二十三万四千五百六十七',]for cn in test_dig:printcn2dig(cn)

Python数字转换相关文章推荐:

1、用Python将罗马数字转换为阿拉伯数字的方法
2、Python实现金额大小写转换的方法

玩蛇网文章,转载请注明出处和文章网址:http://www.iplaypy.com/code/base/b2600.html [复制]

Python将汉字数字转换成阿拉伯数字的方法相关推荐

  1. python123数字转换_Python将汉字数字转换成阿拉伯数字的方法

    用Python将汉字数字转换成阿拉伯数字的方法.汉字数字就是我们的大写数字:零.壹.贰.叁.肆.伍.陆.柒.捌.玖.拾,这种只有在会计人员才会常用的数字. Python把用汉字表示的数字转换为阿拉伯数 ...

  2. 把英文转换成数字python_python实现将英文单词表示的数字转换成阿拉伯数字的方法...

    本文实例讲述了python实现将英文单词表示的数字转换成阿拉伯数字的方法.分享给大家供大家参考.具体实现方法如下: import re _known = { 'zero': 0, 'one': 1, ...

  3. python将英文单词表示的数字转换成阿拉伯数字的代码

    下边内容内容是关于python将英文单词表示的数字转换成阿拉伯数字的内容. import re _known = { 'zero': 0, 'one': 1, 'two': 2, 'three': 3 ...

  4. python数字转汉字-Python实现把数字转换成中文

    周末在家,写了个小程序,用于将阿拉伯数字转换化大写中文.程序没经过任何优化,出没经过详细的测试,挂到网上,方便将来有需要的时候直接拿来用. #!/usr/bin/python #-*- encodin ...

  5. 中文数字转换成阿拉伯数字(一千二百三十四万五千六百七十八-->12345678)

    昨天老大问我又没有写过中文数字转换成阿拉伯数字,我说没有,我说那应该简单啊,就是将中文对应的数字换成阿拉伯数字就好了啊,比如一就换成1,二就换成2-十换成10.可是那么问题来了- 一十二呢-不能是11 ...

  6. python将中文数字转化成阿拉伯数字

    python将中文数字转化成阿拉伯数字 正则表达式提取文本中的数字 中文转化成阿拉伯数字 完整代码 正则表达式提取文本中的数字 这里演示一下文本中提取中文年份 import re m0 = " ...

  7. 如何把excel里面中文小写数字转换成阿拉伯数字

    今天跟大家分享一下如何把excel里面中文小写数字转换成阿拉伯数字 1.打开要处理的Excel文件 2.将E列数据复制一份到F列中并选中 3.点击下图选项(Excel工具箱,百度即可了解详细下载安装信 ...

  8. python 中文汉字钱转成阿拉伯数字钱

    自己写的一个中文汉字钱转成阿拉伯数字钱的python demo. 例如: 二千万零二十三块              ==>     20000023 三百二十万五百两十三元    ==> ...

  9. 将汉字数字转换成数字

    多试点测试用例,这道题很容易出错 import java.util.Stack;public class test02 {//将一个汉字转换成数字 三千四百万零三十二个<---->340p ...

最新文章

  1. 【FFmpeg】自定义回调函数处理AVIOContext中的数据
  2. R语言使用compareGroups包绘制分组患者基线信息表实战:基于survival包lung数据集
  3. (数据科学学习手札61)xpath进阶用法
  4. ORACLE使用JOB定时备份数据库
  5. flutter 获取设备屏幕大小
  6. 随机抽样一致算法(Random sample consensus,RANSAC)
  7. linux下查看cpu信息
  8. php网站入门鹿泉银山,银山门传说与银山门古石洞的考证
  9. SylixOS IO层源代码解析
  10. python字符串常见操作_python 字符串常用操作
  11. android框架揭秘!Android开发者跳槽指南一线互联网公司面经总结
  12. NVivo 12 Mac的大规模部署
  13. 巧用批处理cmd快速切换IP地址
  14. 侦探小明:如何判断电脑里突然出现的流氓广告来自哪个软件?
  15. 一个P9告诉你为什么某电商怕了拼多多
  16. centos树莓派版本安装ssh_树莓派安装系统+ssh登录
  17. 详解量子计算:相位反冲与相位反转
  18. 联想机架式服务器安装文档,联想智能超算平台LiCO安装手册.docx
  19. SpringBoot系列之@PropertySource读取yaml文件
  20. poj-2251 Dungeon Master【bfs】

热门文章

  1. 课程学习-华为数据库产品GaussDB介绍
  2. 解决问题--MYSQL服务无法启动
  3. Activity 的介绍和使用(一)
  4. 腾达fh450虚拟服务器,腾达(Tenda)FH450路由器设置上网方法
  5. java大数转换成字符串,js字符串转换成数字与数字转换成字符串的实现方法
  6. Ubantu18.04安装WPS
  7. Golang中path/filepath包
  8. 詹姆斯和林书豪的食谱
  9. 新手用Python通过Pygame一步步实现贪吃蛇
  10. 自学js第十二天:DOM概念和基础操作