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安全错误
数据库的锁怎样保障安全
为想互联网科技怎么样
科技互联网产品
深圳恒合互联网络科技有限公司
科技互联网技术
互联网金融与金融科技
西安互联网科技
有马互联网科技
苏州互联网科技贷款公司
碳银互联网科技有限公司
苏州大垚互联网科技
彤创互联网科技有限公司
深圳市优智互联网科技有限公司
晋城互联网科技
工业互联网山东科技大学
万物互联网智能科技
科技信息时代互联网发展
互联网科技创新创业项目
杭州科技互联网公司有哪些
重庆科技产业互联网有哪些
互联网科技创业有什么好项目
中国互联网科技工作委员会毛军
互联网科技小贷
智网互联网科技
互联网科技有哪些公司
互联网科技公司有风险吗
2021互联网科技公司排名
陕西九四连强互联网科技有限公司
互联网科技和医药行业
科技互联网公司两年变化
瑞安市蟠桃会互联网科技有限公司