用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将汉字数字转换成阿拉伯数字的方法相关推荐

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

    Python将汉字数字转换成阿拉伯数字的方法 - 玩蛇网 http://www.iplaypy.com/code/base/b2600.html 用Python语言来为不同数字之间做转换之前就有介绍过 ...

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

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

  3. python里class转换_python实现class对象转换成json/字典的方法

    python实现class对象转换成json/字典的方法 发布于 2016-03-28 08:05:44 | 153 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是 ...

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

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

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

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

  6. python数字切片_Python学习笔记-数字,列表,元祖,切片,循环

    数字 1,加减乘除:+,-,*,/ 2,平方:** 3,立方:**3 4,字符串转换:str(数字) 5,浮点数:带小数点  0.2 Python编程建议 import this >>&g ...

  7. python 安卓app按钮数字识别_Python 手写数字识别-knn算法应用

    knn算法代码: from numpy import * import operator import os def img2vector(filename): """ ...

  8. python字典与json转换_python字典与json转换的方法总结

    在python中json分别由列表和字典组成,本文主要介绍python中字典与json相互转换的方法.使用json.dumps可以把字典转成json字符串.使用json.loads可以把json字符串 ...

  9. python 颜色空间转换_python opencv入门 颜色空间转换(9)

    内容来自OpenCV-Python Tutorials 自己翻译整理 目标 学习如何将RGB转换为灰度图,或者RGB转换为HSV 写个程序从一副图像获取某个固定颜色的物体 学习函数cv2.cvtCol ...

最新文章

  1. 配置 腾讯云 SSL 证书 SSL证书实现https,环境:phpStudy下Apache环境
  2. tomcat部署下的web项目网页更改不能自动刷新
  3. Strong Consistency, 强一致性技术概述
  4. B-TrunC标准成功加入ITU集群国际标准
  5. Angular自学笔记(?)依赖注入
  6. linux 创建一个垃圾篓防误删及其误删文件恢复
  7. C/C++:Windows编程—Inline Hook内联钩子(下)
  8. 信息学奥数一本通(1004:字符三角形)
  9. 数字反转(信息学奥赛一本通-T1089)
  10. 40 FI配置-财务会计-固定资产-组织结构-创建屏幕格式规则
  11. springboot 分页查询参数_精通SpringBoot--分页查询功能的实现
  12. 亚马逊中国官网挂了:因清仓大促销致官网崩溃,谁来背锅?
  13. 装饰者模式(C#)实现
  14. lopatkin俄大神精简中文系统Windows 10 Enterprise 2016 LTSB 14393.479 x86-x64 ZH-CN PIP
  15. python程序设计——班级档案管理系统
  16. 浅谈网站渗透的常用方法和一般思路
  17. 2021-09-09
  18. 著名的十大经济学效应
  19. IntelliJ IDEA自动生成注释的author
  20. python输出字母金字塔a bb ccc dddd_《程序设计基础》题库(50道)

热门文章

  1. 成功的反义词不是失败,而是什么都不做
  2. Python解析英雄联盟数据,教你带妹上分啦!
  3. freemarker的<#macro>标签理解
  4. FCFS、SJF、HRRN调度算法
  5. BZOJ 1051: [HAOI2006]受欢迎的牛【Trajan】
  6. uni-app 小程序分段器tab 的 实现
  7. Http request 获取不到请求内容的总结
  8. vulnhub DC1 靶场练习
  9. MySQL-day03
  10. mac os 秒开 word doc 文档