首先这是别人写好的代码,可以用来做一个库,这个代码还是比较好用的,可以识别小数点

如:

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-数字-转大写人民币相关推荐

  1. php 数字转大写人民币

    /***数字转大写人民币* @param [type] $num [description]* @return [type] [description]*/ function num2rmb ($nu ...

  2. 关于php数字转大写人民币的代码(完善)

    之前看到一个php版本的把数字变为大写人民币的代码,以前没有打开display_errors,后来为了提高代码质量,把它打开了,发现了几处错误,看着很不爽,现在在一个系统里面应用了,部署到生产环境,发 ...

  3. python数字转换为大写中文_python 人民币数字转汉字大写金额

    1 ''' 2 人民币数字转大写汉字3 ''' 4 5 #coding: utf-8 6 importwarnings7 from decimal importDecimal8 9 def cncur ...

  4. 10000php换人民币,转 数字转大写人民币

    /* PHP版阿拉伯数字RMB转化大写人民币 BY厕所的灯 AT 2005-03-24 因为小数点后最多只有2位,所以我没有用递归,直接一个数一个数取的,整数位用的是递归计算的,感觉精华也是在此,呵呵 ...

  5. 将一串数字转为大写人民币形式

    数字转人民币大写形式 function toChinese(str){ //大写数字 var arrNum = ['零','壹','贰','叁','肆','伍','陆','柒','捌','玖'] // ...

  6. python数字转大写字母_python变量名称如何转化为大写字母?

    很简单. python本身有个抽象语法树库专门解析源码.加上astor库导出到文件就可以.(如果你想用正则来解析,那就非常复杂了.所以建议来采取我的方法) 我们先思考要怎么都替换到大写字母而不影响数字 ...

  7. 426rmb to php,PHP 转换数字为大写人民币之二

    //转换数字到人民币 function changetormb($data) { $capnum = array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌' ...

  8. java 数字转换开发票大写格式_Java转化数字为大写人民币

    /* * 将小写的人民币转化成大写 */ public static String convertToChineseNumber(double number) { StringBuffer chine ...

  9. python数字2大写汉字转换(金额转换)

    文章目录 题目 思路 代码 题目 思路 对数字进行转换,阿拉伯数字和大写汉字之间有对应关系 对单位进行转换,见下图.每4位是一组,每组中第0位 对零做处理,重复的零删除 代码 x=input(&quo ...

  10. python数字转换为大写中文_阿拉伯数字金额转中文大写 (python实现)

    分析 实现 # -*- coding: utf-8 -*- from __future__ import unicode_literals def convert(n): units = ['', ' ...

最新文章

  1. BERT可视化工具bertviz体验
  2. nested exception is org.springframework.beans.factory.BeanCurrentlyInCreationException(Spring循环依赖问题)
  3. web api 权限控制
  4. PAT——1074. 宇宙无敌加法器(20)
  5. 【好文链接】从原理上搞懂PID
  6. gnuplot读取mysql数据库_Tpcc-MySQL测试并使用gnuplot生成图表
  7. 区块链 以太坊 三元组是什么 state root transaction root receipt root
  8. python输入函数设计_(董付国)Python 学习笔记---Python函数设计与使用(3)
  9. 如何查看teamviewer计算机id,TeamViewer如何设置固定ID密码?查看方法说明
  10. 阿尔伯塔大学 计算机科学,阿尔伯塔大学
  11. sam格式的结构和意义_SAM文件基础知识
  12. 面对众多的在线打印平台该怎么选择?
  13. 模拟扑克牌的洗牌发牌
  14. sublime text3安装python插件和flake8_Sublime Text环境配置(Python、Latex、Markdown)及常见问题汇总...
  15. 树的基本概念和2叉树中重要的几个性质
  16. 可以免费使用的PDF转换器PDF转换器注册码
  17. js数组的reduce与reduceRight方法
  18. 「天威诚信说法」不见面也能签劳动合同啦
  19. IDEA 修改JDK版本后,没有效果,编译还是报错。
  20. Windows 10 全新界面要来了,全新的 UI 界面。

热门文章

  1. Linux设备树学习2 - DTB文件格式
  2. 我的世界java村庄刷僵尸_我的世界:最安全村庄诞生!仅因一个条件,村民再也不担心僵尸...
  3. ABC084-C-Special Trains
  4. ajax同步异步的区别
  5. 【软件相关】文献管理工具——EndNote与NoteExpress
  6. C语言基础入门 - 第一章 - 从入门到入土
  7. 联想启天台式机安装Ubuntu14.04
  8. 尽管存在 DDoS 攻击,但不要放弃 Dyn 或 DNS 服务提供商
  9. 拉格朗日插值最小二乘法原理简述
  10. docker一键部署php开发环境