python123数字转换_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 = 1
elif unit==100000000:
ldig.append('y') #标示亿位
unit = 1
elif unit==1000000000000:#标示兆位
ldig.append('z')
unit = 1
continue
else:
dig = CN_NUM.get(cndig)
if unit:
dig = dig*unit
unit = 0
ldig.append(dig)
if unit==10: #处理10-19的数字
ldig.append(10)
ret = 0
tmp = 0
while ldig:
x = ldig.pop()
if x=='w':
tmp *= 10000
ret += tmp
tmp=0
elif x=='y':
tmp *= 100000000
ret += tmp
tmp=0
elif x=='z':
tmp *= 1000000000000
ret += tmp
tmp=0
else:
tmp += x
ret += tmp
return 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:
print cn2dig(cn)
玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/code/base/b2600.html
相关文章 Recommend
python123数字转换_Python将汉字数字转换成阿拉伯数字的方法相关推荐
- Python将汉字数字转换成阿拉伯数字的方法
Python将汉字数字转换成阿拉伯数字的方法 - 玩蛇网 http://www.iplaypy.com/code/base/b2600.html 用Python语言来为不同数字之间做转换之前就有介绍过 ...
- 把英文转换成数字python_python实现将英文单词表示的数字转换成阿拉伯数字的方法...
本文实例讲述了python实现将英文单词表示的数字转换成阿拉伯数字的方法.分享给大家供大家参考.具体实现方法如下: import re _known = { 'zero': 0, 'one': 1, ...
- python里class转换_python实现class对象转换成json/字典的方法
python实现class对象转换成json/字典的方法 发布于 2016-03-28 08:05:44 | 153 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是 ...
- python 中文汉字钱转成阿拉伯数字钱
自己写的一个中文汉字钱转成阿拉伯数字钱的python demo. 例如: 二千万零二十三块 ==> 20000023 三百二十万五百两十三元 ==> ...
- python数字转换_Python实现中文数字转换为阿拉伯数字的方法示例
本文实例讲述了Python实现中文数字转换为阿拉伯数字的方法.分享给大家供大家参考,具体如下: 一.需求 今天写了三千二百行代码. 今天写了3200行代码. 两行意思相同,只是表达方式不太能够,统一掉 ...
- python数字切片_Python学习笔记-数字,列表,元祖,切片,循环
数字 1,加减乘除:+,-,*,/ 2,平方:** 3,立方:**3 4,字符串转换:str(数字) 5,浮点数:带小数点 0.2 Python编程建议 import this >>&g ...
- python 安卓app按钮数字识别_Python 手写数字识别-knn算法应用
knn算法代码: from numpy import * import operator import os def img2vector(filename): """ ...
- python字典与json转换_python字典与json转换的方法总结
在python中json分别由列表和字典组成,本文主要介绍python中字典与json相互转换的方法.使用json.dumps可以把字典转成json字符串.使用json.loads可以把json字符串 ...
- python 颜色空间转换_python opencv入门 颜色空间转换(9)
内容来自OpenCV-Python Tutorials 自己翻译整理 目标 学习如何将RGB转换为灰度图,或者RGB转换为HSV 写个程序从一副图像获取某个固定颜色的物体 学习函数cv2.cvtCol ...
最新文章
- 配置 腾讯云 SSL 证书 SSL证书实现https,环境:phpStudy下Apache环境
- tomcat部署下的web项目网页更改不能自动刷新
- Strong Consistency, 强一致性技术概述
- B-TrunC标准成功加入ITU集群国际标准
- Angular自学笔记(?)依赖注入
- linux 创建一个垃圾篓防误删及其误删文件恢复
- C/C++:Windows编程—Inline Hook内联钩子(下)
- 信息学奥数一本通(1004:字符三角形)
- 数字反转(信息学奥赛一本通-T1089)
- 40 FI配置-财务会计-固定资产-组织结构-创建屏幕格式规则
- springboot 分页查询参数_精通SpringBoot--分页查询功能的实现
- 亚马逊中国官网挂了:因清仓大促销致官网崩溃,谁来背锅?
- 装饰者模式(C#)实现
- lopatkin俄大神精简中文系统Windows 10 Enterprise 2016 LTSB 14393.479 x86-x64 ZH-CN PIP
- python程序设计——班级档案管理系统
- 浅谈网站渗透的常用方法和一般思路
- 2021-09-09
- 著名的十大经济学效应
- IntelliJ IDEA自动生成注释的author
- python输出字母金字塔a bb ccc dddd_《程序设计基础》题库(50道)