python-数字-转大写人民币
首先这是别人写好的代码,可以用来做一个库,这个代码还是比较好用的,可以识别小数点
如:
print(convertNumToChinese(100.2))
out:壹佰圆贰角
print(convertNumToChinese(50.88))
out:伍拾圆捌角捌分
# coding=gbk
import mathdef convertNumToChinese(totalPrice):dictChinese = [u'零',u'壹',u'贰',u'叁',u'肆',u'伍',u'陆',u'柒',u'捌',u'玖']unitChinese = [u'',u'拾',u'佰',u'仟','',u'拾',u'佰',u'仟']#将整数部分和小数部分区分开partA = int(math.floor(totalPrice))partB = round(totalPrice-partA, 2)strPartA = str(partA)strPartB = ''if partB != 0:strPartB = str(partB)[2:]singleNum = []if len(strPartA) != 0:i = 0while i < len(strPartA):singleNum.append(strPartA[i])i = i+1#将整数部分先压再出,因为可以从后向前处理,好判断位数tnumChinesePartA = []numChinesePartA = []j = 0bef = '0';if len(strPartA) != 0:while j < len(strPartA) :curr = singleNum.pop()if curr == '0' and bef !='0':tnumChinesePartA.append(dictChinese[0])bef = currif curr != '0':tnumChinesePartA.append(unitChinese[j])tnumChinesePartA.append(dictChinese[int(curr)])bef = currif j == 3:tnumChinesePartA.append(u'萬')bef = '0'j = j+1for i in range(len(tnumChinesePartA)):numChinesePartA.append(tnumChinesePartA.pop())A = ''for i in numChinesePartA:A = A+i#小数部分很简单,只要判断下角是否为零B = ''if len(strPartB) == 1:B = dictChinese[int(strPartB[0])] + u'角'if len(strPartB) == 2 and strPartB[0] != '0':B = dictChinese[int(strPartB[0])] + u'角' + dictChinese[int(strPartB[1])] + u'分'if len(strPartB) == 2 and strPartB[0] == '0':B = dictChinese[int(strPartB[0])] + dictChinese[int(strPartB[1])] + u'分'if len(strPartB) == 0:S = A + u'圆整'if len(strPartB)!= 0:S = A + u'圆' +Breturn Sprint(convertNumToChinese(100.2))
python-数字-转大写人民币相关推荐
- php 数字转大写人民币
/***数字转大写人民币* @param [type] $num [description]* @return [type] [description]*/ function num2rmb ($nu ...
- 关于php数字转大写人民币的代码(完善)
之前看到一个php版本的把数字变为大写人民币的代码,以前没有打开display_errors,后来为了提高代码质量,把它打开了,发现了几处错误,看着很不爽,现在在一个系统里面应用了,部署到生产环境,发 ...
- python数字转换为大写中文_python 人民币数字转汉字大写金额
1 ''' 2 人民币数字转大写汉字3 ''' 4 5 #coding: utf-8 6 importwarnings7 from decimal importDecimal8 9 def cncur ...
- 10000php换人民币,转 数字转大写人民币
/* PHP版阿拉伯数字RMB转化大写人民币 BY厕所的灯 AT 2005-03-24 因为小数点后最多只有2位,所以我没有用递归,直接一个数一个数取的,整数位用的是递归计算的,感觉精华也是在此,呵呵 ...
- 将一串数字转为大写人民币形式
数字转人民币大写形式 function toChinese(str){ //大写数字 var arrNum = ['零','壹','贰','叁','肆','伍','陆','柒','捌','玖'] // ...
- python数字转大写字母_python变量名称如何转化为大写字母?
很简单. python本身有个抽象语法树库专门解析源码.加上astor库导出到文件就可以.(如果你想用正则来解析,那就非常复杂了.所以建议来采取我的方法) 我们先思考要怎么都替换到大写字母而不影响数字 ...
- 426rmb to php,PHP 转换数字为大写人民币之二
//转换数字到人民币 function changetormb($data) { $capnum = array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌' ...
- java 数字转换开发票大写格式_Java转化数字为大写人民币
/* * 将小写的人民币转化成大写 */ public static String convertToChineseNumber(double number) { StringBuffer chine ...
- python数字2大写汉字转换(金额转换)
文章目录 题目 思路 代码 题目 思路 对数字进行转换,阿拉伯数字和大写汉字之间有对应关系 对单位进行转换,见下图.每4位是一组,每组中第0位 对零做处理,重复的零删除 代码 x=input(&quo ...
- python数字转换为大写中文_阿拉伯数字金额转中文大写 (python实现)
分析 实现 # -*- coding: utf-8 -*- from __future__ import unicode_literals def convert(n): units = ['', ' ...
最新文章
- BERT可视化工具bertviz体验
- nested exception is org.springframework.beans.factory.BeanCurrentlyInCreationException(Spring循环依赖问题)
- web api 权限控制
- PAT——1074. 宇宙无敌加法器(20)
- 【好文链接】从原理上搞懂PID
- gnuplot读取mysql数据库_Tpcc-MySQL测试并使用gnuplot生成图表
- 区块链 以太坊 三元组是什么 state root transaction root receipt root
- python输入函数设计_(董付国)Python 学习笔记---Python函数设计与使用(3)
- 如何查看teamviewer计算机id,TeamViewer如何设置固定ID密码?查看方法说明
- 阿尔伯塔大学 计算机科学,阿尔伯塔大学
- sam格式的结构和意义_SAM文件基础知识
- 面对众多的在线打印平台该怎么选择?
- 模拟扑克牌的洗牌发牌
- sublime text3安装python插件和flake8_Sublime Text环境配置(Python、Latex、Markdown)及常见问题汇总...
- 树的基本概念和2叉树中重要的几个性质
- 可以免费使用的PDF转换器PDF转换器注册码
- js数组的reduce与reduceRight方法
- 「天威诚信说法」不见面也能签劳动合同啦
- IDEA 修改JDK版本后,没有效果,编译还是报错。
- Windows 10 全新界面要来了,全新的 UI 界面。