Python将汉字数字转换成阿拉伯数字的方法
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将汉字数字转换成阿拉伯数字的方法相关推荐
- python123数字转换_Python将汉字数字转换成阿拉伯数字的方法
用Python将汉字数字转换成阿拉伯数字的方法.汉字数字就是我们的大写数字:零.壹.贰.叁.肆.伍.陆.柒.捌.玖.拾,这种只有在会计人员才会常用的数字. Python把用汉字表示的数字转换为阿拉伯数 ...
- 把英文转换成数字python_python实现将英文单词表示的数字转换成阿拉伯数字的方法...
本文实例讲述了python实现将英文单词表示的数字转换成阿拉伯数字的方法.分享给大家供大家参考.具体实现方法如下: import re _known = { 'zero': 0, 'one': 1, ...
- python将英文单词表示的数字转换成阿拉伯数字的代码
下边内容内容是关于python将英文单词表示的数字转换成阿拉伯数字的内容. import re _known = { 'zero': 0, 'one': 1, 'two': 2, 'three': 3 ...
- python数字转汉字-Python实现把数字转换成中文
周末在家,写了个小程序,用于将阿拉伯数字转换化大写中文.程序没经过任何优化,出没经过详细的测试,挂到网上,方便将来有需要的时候直接拿来用. #!/usr/bin/python #-*- encodin ...
- 中文数字转换成阿拉伯数字(一千二百三十四万五千六百七十八-->12345678)
昨天老大问我又没有写过中文数字转换成阿拉伯数字,我说没有,我说那应该简单啊,就是将中文对应的数字换成阿拉伯数字就好了啊,比如一就换成1,二就换成2-十换成10.可是那么问题来了- 一十二呢-不能是11 ...
- python将中文数字转化成阿拉伯数字
python将中文数字转化成阿拉伯数字 正则表达式提取文本中的数字 中文转化成阿拉伯数字 完整代码 正则表达式提取文本中的数字 这里演示一下文本中提取中文年份 import re m0 = " ...
- 如何把excel里面中文小写数字转换成阿拉伯数字
今天跟大家分享一下如何把excel里面中文小写数字转换成阿拉伯数字 1.打开要处理的Excel文件 2.将E列数据复制一份到F列中并选中 3.点击下图选项(Excel工具箱,百度即可了解详细下载安装信 ...
- python 中文汉字钱转成阿拉伯数字钱
自己写的一个中文汉字钱转成阿拉伯数字钱的python demo. 例如: 二千万零二十三块 ==> 20000023 三百二十万五百两十三元 ==> ...
- 将汉字数字转换成数字
多试点测试用例,这道题很容易出错 import java.util.Stack;public class test02 {//将一个汉字转换成数字 三千四百万零三十二个<---->340p ...
最新文章
- 【FFmpeg】自定义回调函数处理AVIOContext中的数据
- R语言使用compareGroups包绘制分组患者基线信息表实战:基于survival包lung数据集
- (数据科学学习手札61)xpath进阶用法
- ORACLE使用JOB定时备份数据库
- flutter 获取设备屏幕大小
- 随机抽样一致算法(Random sample consensus,RANSAC)
- linux下查看cpu信息
- php网站入门鹿泉银山,银山门传说与银山门古石洞的考证
- SylixOS IO层源代码解析
- python字符串常见操作_python 字符串常用操作
- android框架揭秘!Android开发者跳槽指南一线互联网公司面经总结
- NVivo 12 Mac的大规模部署
- 巧用批处理cmd快速切换IP地址
- 侦探小明:如何判断电脑里突然出现的流氓广告来自哪个软件?
- 一个P9告诉你为什么某电商怕了拼多多
- centos树莓派版本安装ssh_树莓派安装系统+ssh登录
- 详解量子计算:相位反冲与相位反转
- 联想机架式服务器安装文档,联想智能超算平台LiCO安装手册.docx
- SpringBoot系列之@PropertySource读取yaml文件
- poj-2251 Dungeon Master【bfs】