在会计的时候,用到将数字转换为大写,也就是讲数字转为汉字

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):  # 拆分函数,将整数字符串拆分成[亿,万,仟]的listg = len(cdata) % 4csdata = []lx = len(cdata) - 1if g > 0:csdata.append(cdata[0:g])k = gwhile k <= lx:csdata.append(cdata[k:k + 4])k += 4return csdatadef cschange(self, cki):  # 对[亿,万,仟]的list中每个字符串分组进行大写化再合并lenki = len(cki)i = 0lk = lenkichk = 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 -= 1return chkdef cwchange(self, data):cdata = str(data).split('.')cki = cdata[0]if len(cdata) == 1:i = 0chk = 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 = 0chk = 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 chkif __name__ == '__main__':pt = cnumber()print(pt.cwchange('14524'))  # 壹万肆仟伍佰贰拾肆元整

python 数字转换为汉字大写相关推荐

  1. vue将数字转换为汉字大写

    smallToBIG(price) {let fraction = ['角', '分'];let digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌 ...

  2. 阿拉伯数字转换为汉字大写数字

    阿拉伯数字转换为汉字大写数字: 首先需要建立两个视图: create view V_HZNumber as     SELECT 0 F1,'零' F2,'个' F3 UNION     SELECT ...

  3. .net 将数字转换为人民币大写

    程序中用到将数字转换为大写人民币,在网上找了一个方法,记录下来. using System.Text; using System.Text.RegularExpressions; ///<sum ...

  4. android 将数字转换为汉字

    /*** 将数字转换为汉字** @param number* @return*/public static String intToChinese(int number) {String value ...

  5. 将数字转换为中文大写

    将数字转换为中文大写 HTML代码: <input type="text" value="" placeholder="阿拉伯数字" ...

  6. vue 中 把后台传过来的数据 中的数字 转换为 汉字

    一.vue 中 把后台传过来的数据 中的数字 转换为 汉字 v-if ="" 冒号里面写遍历到的数据可以直接用 代码如下: template <tbody><tr ...

  7. python数字转中文大写_python 数字转换为大写

    在会计的时候,用到将数字转换为大写,也就是讲数字转为汉字 外汇出入金流程https://www.fx61.com/supportclass cnumber: cdict = {} gdict = {} ...

  8. python数字转中文大写_Python 人民币数字转汉字表示 —— 大写金额

    # coding: utf-8 import warnings from decimal import Decimal def cncurrency(value, capital=True, pref ...

  9. 数字转换为中文大写(钱数)

    这几天有个需求需要把数字转换为大写的钱数 public function toChineseNumber($money){         $money = round($money,2);      ...

  10. java数字转汉字大写(全)

    MoneyUtil.java public class MoneyUtil { public static String[] chineseDigits = new String[] { " ...

最新文章

  1. Python:打印目录下最大的十个文件
  2. Postman 解决 “Could not get any response” 问题
  3. 每日一九度之 题目1083:特殊乘法
  4. python indexerror怎么办_Python IndexError:使用列表作为可迭代对象时...
  5. 网络编程模型综述 之 成熟的IO框架介绍
  6. 下列有关计算机图形的叙述中错误的是,计算机图形学(9-16)-中国大学mooc-题库零氪...
  7. python实现数据恢复_数据恢复/电子取证 非常有用的python库——Construct | 学步园...
  8. warning LNK4070的解决办法
  9. 为什么 Oracle 应该主推 NetBeans
  10. 华为交换机安全端口实验
  11. python流程自动化_python selenium 自动化流程的一些总结与思考
  12. 流行学习与拉普拉斯变换的推导
  13. svn往分支提代码_SVN建立分支和合并代码
  14. 易语言卷帘菜单与json_易语言卷帘式菜单组件使用教程
  15. 基于混合策略改进的樽海鞘群算法
  16. AutoCAD 2007快捷键大全
  17. 手机里tencent文件夹能删吗_手机上的文件夹能不能删?看完之后秒懂
  18. 课程设计:简单计算器的实现
  19. win11 22H2 连接共享打印机失败
  20. 使用java代码实现扫码登录

热门文章

  1. 测试内存的频率稳定性软件,超频心得:3000MHz通过1000%稳定性测试_内存硬盘评测-中关村在线...
  2. JNI数据与方法操作实例
  3. 解决eclipse mars2中不能设置tomcat8.5
  4. matlab标定 源码,MATLAB标定工具箱
  5. python 大小写字母怎么用数字表示_python判断字符串是字母 数字 大小写(转载)...
  6. golang调用aliyun的语音通话
  7. 程序在单片机里是如何运行的?
  8. scrapy框架爬虫
  9. Palantir的研究到金融风控(二)
  10. Excel如何快速查询银行卡开户行?