python怎么将数字转化为汉字
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍"python怎么将数字转化为汉字"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"python怎么将数字转化为汉字"文章能帮助大家解决问题。本文
千家信息网最后更新 2026年11月01日python怎么将数字转化为汉字
这篇文章主要介绍"python怎么将数字转化为汉字"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"python怎么将数字转化为汉字"文章能帮助大家解决问题。
本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。
1、转换思路
(1)将整数和小数分开。
(2)把四位数变成大写汉字。
(3)把两个小数字转换成x角x分。
(4)重复,转人民币大写。
2、实例
class cnumber: cdict = {} gdict = {} xdict = {} def __init__(self): self.cdict = {1: u'', 2: u'拾', 3: u'佰', 4: u'仟'} self.xdict = {1: u'元', 2: u'万', 3: u'亿', 4: u'兆'} # 数字标识符 self.gdict = {0: u'零', 1: u'壹', 2: u'贰', 3: u'叁', 4: u'肆', 5: u'伍', 6: u'陆', 7: u'柒', 8: u'捌', 9: u'玖'} def csplit(self, cdata): # 拆分函数,将整数字符串拆分成[亿,万,仟]的list g = len(cdata) % 4 csdata = [] lx = len(cdata) - 1 if g > 0: csdata.append(cdata[0:g]) k = g while k <= lx: csdata.append(cdata[k:k + 4]) k += 4 return csdata def cschange(self, cki): # 对[亿,万,仟]的list中每个字符串分组进行大写化再合并 lenki = len(cki) i = 0 lk = lenki chk = u'' for i in range(lenki): if int(cki[i]) == 0: if i < lenki - 1: if int(cki[i + 1]) != 0: chk = chk + self.gdict[int(cki[i])] else: chk = chk + self.gdict[int(cki[i])] + self.cdict[lk] lk -= 1 return chk def cwchange(self, data): cdata = str(data).split('.') cki = cdata[0] if len(cdata) == 1: i = 0 chk = u'' cski = self.csplit(cki) # 分解字符数组[亿,万,仟]三组List:['0000','0000','0000'] ikl = len(cski) # 获取拆分后的List长度 # 大写合并 for i in range(ikl): if self.cschange(cski[i]) == '': # 有可能一个字符串全是0的情况 chk = chk + self.cschange(cski[i]) # 此时不需要将数字标识符引入 else: chk = chk + self.cschange(cski[i]) + self.xdict[ikl - i] # 合并:前字符串大写+当前字符串大写+标识符 chk = chk + u'整' else: i = 0 chk = u'' cski = self.csplit(cki) # 分解字符数组[亿,万,仟]三组List:['0000','0000','0000'] ikl = len(cski) # 获取拆分后的List长度 # 大写合并 for i in range(ikl): if self.cschange(cski[i]) == '': # 有可能一个字符串全是0的情况 chk = chk + self.cschange(cski[i]) # 此时不需要将数字标识符引入 else: chk = chk + self.cschange(cski[i]) + self.xdict[ikl - i] # 合并:前字符串大写+当前字符串大写+标识符 # 处理小数部分 ckj = cdata[1] lenkj = len(ckj) if lenkj == 1: # 若小数只有1位 if int(ckj[0]) == 0: chk = chk + u'整' else: chk = chk + self.gdict[int(ckj[0])] + u'角整' else: # 若小数有两位的四种情况 if int(ckj[0]) == 0 and int(ckj[1]) != 0: chk = chk + u'零' + self.gdict[int(ckj[1])] + u'分' elif int(ckj[0]) == 0 and int(ckj[1]) == 0: chk = chk + u'整' elif int(ckj[0]) != 0 and int(ckj[1]) != 0: chk = chk + self.gdict[int(ckj[0])] + u'角' + self.gdict[int(ckj[1])] + u'分' else: chk = chk + self.gdict[int(ckj[0])] + u'角整' return chk if __name__ == '__main__': pt = cnumber() print(pt.cwchange('14524')) # 壹万肆仟伍佰贰拾肆元整关于"python怎么将数字转化为汉字"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
字符
大写
字符串
数字
标识
标识符
汉字
小数
情况
知识
数组
整数
行业
长度
不同
实用
两个
人民
人民币
伍佰
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技海报
互联网科技行业发展
互联网 卓越科技
唐信互联网科技
广州互联网络科技有限公司
西安互联网科技公司
哈尔滨新华互联网科技
互联网系的金融科技公司
茂名市互联网科技产业园
互联网科技公司实习生
移动互联网科技公司
速维有品互联网信息科技(苏州)有限公司
互联网科技扶贫时间
亳州好赞互联网科技有限公司
天津腾达互联网科技有限公司
高科技互联网套路
互联网科技股为什么大涨
求路客互联网科技电话
10位科技互联网大佬
杭州科技互联网公司有哪些
百单网互联网科技有限公司怎么样
科技制造互联网公司
小马过河互联网科技
上海喔噻互联网科技
互联网前沿科技
互联网科技素材视频竖屏
洛阳昕诺飞互联网科技有限公司
互联网科技和法律行业
本届互联网大会上的黑科技
西安左小互联网科技有限公司