def formatCurrency(currencyDigits):'''本函数旨在将数字化的金额(不含千分符)转化为中文的大写金额'''maximum_number=99999999999.99cn_zero="零"cn_one="壹"cn_two="贰"cn_three="叁"cn_four="肆"cn_five="伍"cn_six="陆"cn_seven="柒"cn_eight="捌"cn_nine="玖"cn_ten="拾"cn_hundred="佰"cn_thousand="仟"cn_ten_thousand="万"cn_hundred_million="亿"cn_symbol="人民币"cn_dollar="元"cn_ten_cent="角"cn_cent="分"cn_integer="整"integral=Nonedecimal=NoneoutputCharacters=Noneparts=Nonedigits, radices, bigRadices, decimals=None,None,None,NonezeroCount=Nonei, p, d=None,None,Nonequotient, modulus=None ,NonecurrencyDigits=str(currencyDigits)if currencyDigits=="":return ""if float(currencyDigits)>maximum_number:print("转换金额过大!")return ""parts = currencyDigits.split(".")if len(parts)>1:integral = parts[0]decimal = parts[1]decimal=decimal[0:2]if decimal=="0" or decimal=="00":decimal=""else:integral=parts[0]decimal=""digits=[cn_zero,cn_one,cn_two,cn_three,cn_four,cn_five,cn_six,cn_seven,cn_eight,cn_nine]radices=["",cn_ten,cn_hundred,cn_thousand]bigRadices=["",cn_ten_thousand,cn_hundred_million]decimals=[cn_ten_cent,cn_cent]outputCharacters = ""if int(integral)>0:zeroCount = 0for i in range(len(integral)):p = len(integral) - i - 1d = integral[i]quotient = int(p / 4)modulus = p % 4if d=="0":zeroCount+=1else:if zeroCount>0:outputCharacters += digits[0]zeroCount=0outputCharacters = outputCharacters+ digits[int(d)] + radices[modulus]if modulus==0 and zeroCount < 4:outputCharacters =outputCharacters + bigRadices[quotient]outputCharacters += cn_dollarif decimal!="":jiao = decimal[0]if jiao=="":jiao="0"try:fen = decimal[1]except:fen="0"if fen=="":fen="0"if jiao=="0" and fen=="0":passif jiao=="0" and fen !="0":outputCharacters = outputCharacters + cn_zero + digits[int(fen)] + decimals[1]if jiao !="0" and fen=="0":outputCharacters =outputCharacters + digits[int(jiao)] + decimals[0]if jiao!="0" and fen !="0":outputCharacters =outputCharacters + digits[int(jiao)] + decimals[0]outputCharacters =outputCharacters + digits[int(fen)] + decimals[1]if outputCharacters == "":outputCharacters = cn_zero + cn_dollarif decimal=="":outputCharacters = outputCharacters+ cn_integeroutputCharacters = outputCharactersreturn outputCharactersfor currency in [23104214618.134,23423424.22,20012.35,23456.00,104213421.10,1000043.01]:capital_currency=formatCurrency(currency)print(str(currency)+":\t"+capital_currency)

Python将数字化的金额(不含千分符)转化为中文的大写金额相关推荐

  1. js金额格式化,千分符,(好家伙!面试直接被问四次)

    前言 九十月份,在我的面试经历中,这道题算是比较高频的了,都是出现在初次视频面试的过程中 1.解题 得到一个number类型数据,将小数点前面的部分从右到左用","每三位隔开 例如 ...

  2. html5 input 金钱符,Vue金额千分符格式化输入组件

    目的效果: 1.focus时是浮点数 2.blur时展示的是千分符格式 3.输入框取值时是浮点数 4.基于element-ui el-input :value="formatValue&qu ...

  3. word文档怎么给数字加千分符_怎样给Word添加千分符

    Word作为生活中常用的文本形式,有诸多用处,也有很多技巧,今天和大家分享的就是其中千分符的使用,千分符的效果是可以帮助我们在数字比较大,位数比较多的时候,对数字有个清晰直观的感受,快跟小编一起看看怎 ...

  4. word文档怎么给数字加千分符_word实用技巧:如何为数字添加千分符的3种方法

    我们在用Word做各类文书.标书.策划类时,有时会在文档中书写多位数的金额数据,如下图所示的调薪通知: 看到上方薪资单中的信息我是拒绝的,一般情况下,金额位数比较多时,应该设置添加千分符.但文档中12 ...

  5. 详解为整数添加千分符的正则表达式

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 整数添加千分符 使用方法 详解 使用示例 总结 前言 最近在项目中遇到一个小的需求,就是给金额加上千分符,原本想着直接 ...

  6. js-格式化数字保留两位小数-带千分符

    很多时候发现有时候js会提示自带函数不能使用,所以自己找了很多资料实现了个 html <input type="text" class="input_text in ...

  7. js 数字转为千分符格式

    function util(){//字符串千分符this.cuter = function (v, n) {if (typeof (v) == 'string' || typeof (v) == 'n ...

  8. JS中给数字添加千分符

    一些项目在开发过程中,会遇到给表格.图表中的数字添加千分符的问题,下面分享一个简单实用的函数给大家. const thousands = (str) => {//str 字符类型的数字let t ...

  9. LuckySheet设置单元格格式为千分符保存至后台再获取时格式失效

    问题: LuckySheet设置单元格格式为千分符保存至后台再获取时格式失效 描述: 在使用LuckySheet开发报表功能模块的时候,需要在单元格内显示带千分符的数字,因此,在报表设置阶段,通过Lu ...

最新文章

  1. c语言中的普通字符包括什么,【判断题】C语言中的字符常量通常有两种形式:普通字符和转义字符。...
  2. 一次对语音技术的彻底批判
  3. uvm_dpi——DPI在UVM中的实现(一)
  4. 如何用 Java 实现简单的区块链
  5. 移动设备将成为2014年最大的安全风险
  6. python 线程中出现执行错乱_多处理会导致Python崩溃,并在调用fork()时在另一个线程中出现错误...
  7. python字符编码在哪里_快速入手Python字符编码
  8. 数据库引起的性能瓶颈应如何优化?
  9. html动态计算高度,透明半透明背景
  10. python常用输入输出の方法
  11. 计算机怎么会自动开机,Windows10系统电脑半夜会自动开机如何解决
  12. 开课吧:怎样才能做软件架构师?
  13. PetShop 4.0 官方详解
  14. 父级div没高度不能自适应高度的原因——子级使用css float浮动
  15. 拓端tecdat|Mac系统R语言升级后无法加载包报错 package or namespace load failed in dyn.load(file, DLLpath = DLLpath,
  16. Java文件上传实例并解决跨域问题
  17. android word编辑图片,Word转换成图片详细教程.doc
  18. 《大道至简》读书笔记
  19. Python运行环境详细总结
  20. PB powerbuilder 电子邮件发送

热门文章

  1. 多多情报通:拼多多三级处罚能提出店铺保证金吗?怎么申诉?
  2. 倍福TwinCAT(贝福Beckhoff)基础教程 松下伺服驱动器报错 88怎么办
  3. Java代码小片段(三)
  4. SGU326Perspective(网络流量的最大流量)(经典赛车模型)
  5. 大学计算机学院黑板报,关于学习大学黑板报
  6. shape:形状定义图形
  7. AndroidStudio搞怪进度条插件
  8. 由dgl 升级到0.9.0引起的nvidia显卡驱动升级和docker升级
  9. MySQL一对多的理解,多对多
  10. iOS - 外包开发常用第三方库(1)