python2.x实现人民币转大写人民币


Posted in Python onJune 20, 2018

本文实例为大家分享了python实现人民币转大写人民币的具体代码,供大家参考,具体内容如下

直接上代码:

# -*- coding: utf-8 -*-
def changenum( change_number ):
 format_num = ["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"]
 format_name = ["分", "角", "元",
    "拾","百","千","万",
    "拾","百","千","亿",
    "拾","百","千","万",
    "拾","百","千","兆"]

 if type( change_number ) == str:
  if '.' in change_number:
   try: change_number = float( change_number )
   except: raise ValueError, '%s can\'t change'%change_number
  else:
   try: change_number = int( change_number )
   except: raise ValueError, '%s can\'t change'%change_number

 if type( change_number ) == float:
  real_numbers = []
  for i in range( len( format_name ) - 3, -3, -1 ):
   if change_number >= 10 ** i or i < 1:
    real_numbers.append( int( round( change_number/( 10**i ), 2)%10 ) )

 elif isinstance( change_number, (int, long) ):
  real_numbers = [ int( i ) for i in str( change_number ) + '00' ]

 else:
  raise ValueError, '%s can\'t change'%change_number

 zflag = 0      
 start = len(real_numbers) - 3
 change_words = []
 for i in range(start, -3, -1): 
  if 0 <> real_numbers[start-i] or len(change_words) == 0:
   if zflag:
    change_words.append(format_num[0])
    zflag = 0
   change_words.append( format_num[ real_numbers[ start - i ] ] )
   change_words.append(format_name [i+2])

  elif 0 == i or (0 == i%4 and zflag < 3): 
   change_words.append(format_name [i+2])
   zflag = 0
  else:
   zflag += 1

 if change_words[-1] not in (format_name[0], format_name[1]):
  change_words.append("整")

 return ''.join(change_words)
#测试
# print changenum(865324.98)
#查看输出的结果是否正确

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
详解Python中的文本处理
Apr 11 Python
python通过apply使用元祖和列表调用函数实例
May 26 Python
Python复制文件操作实例详解
Nov 10 Python
Python 实现链表实例代码
Apr 07 Python
python matplotlib画图实例代码分享
Dec 27 Python
python3 selenium 切换窗口的几种方法小结
May 21 Python
Python用5行代码写一个自定义简单二维码
Oct 21 Python
python list格式数据excel导出方法
Oct 31 Python
Django的models模型的具体使用
Jul 15 Python
通过实例学习Python Excel操作
Jan 06 Python
如何导出python安装的所有模块名称和版本号到文件中
Jun 05 Python
Python中json.dumps()函数的使用解析
May 17 Python
python实现猜数字小游戏
Mar 24 #Python
python实现人民币大写转换
Jun 20 #Python
python人民币小写转大写辅助工具
Jun 20 #Python
python简易远程控制单线程版
Jun 20 #Python
python通过Windows下远程控制Linux系统
Jun 20 #Python
Python实现求解一元二次方程的方法示例
Jun 20 #Python
python实现NB-IoT模块远程控制
Jun 20 #Python
You might like
Windows PHP5和Apache的安装与配置
2009/06/08 PHP
PHP clearstatcache()函数详解
2010/03/02 PHP
PHP curl 并发最佳实践代码分享
2012/09/05 PHP
PHP添加Xdebug扩展的方法
2014/02/12 PHP
php延迟静态绑定实例分析
2015/02/08 PHP
ThinkPHP3.2框架使用addAll()批量插入数据的方法
2017/03/16 PHP
用JavaScript脚本实现Web页面信息交互
2006/12/21 Javascript
jquery 实现上下滚动效果示例代码
2013/08/09 Javascript
js实现身份证号码验证的简单实例
2014/02/19 Javascript
jquery实现submit提交表单
2015/02/03 Javascript
判断访客终端类型集锦
2015/06/05 Javascript
浅谈js构造函数的方法与原型prototype
2016/07/04 Javascript
D3.js封装文本实现自动换行和旋转平移等功能
2016/10/14 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
node.js express中app.param的用法详解
2017/07/16 Javascript
使用async-validator编写Form组件的方法
2018/01/10 Javascript
vue中Axios的封装与API接口的管理详解
2018/08/09 Javascript
javascript严格模式详解(含严格模式与非严格模式的区别)
2019/11/12 Javascript
Vue 实现简易多行滚动&quot;弹幕&quot;效果
2020/01/02 Javascript
js实现旋转木马轮播图效果
2020/01/10 Javascript
详解JavaScript中new操作符的解析和实现
2020/09/04 Javascript
JS实现斐波那契数列的五种方式(小结)
2020/09/09 Javascript
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
Python实现的数据结构与算法之双端队列详解
2015/04/22 Python
Python数组遍历的简单实现方法小结
2016/04/27 Python
开源Web应用框架Django图文教程
2017/03/09 Python
python使用 HTMLTestRunner.py生成测试报告
2017/10/20 Python
Linux下升级安装python3.8并配置pip及yum的教程
2020/01/02 Python
HTML5 device access 设备访问详解
2018/05/24 HTML / CSS
CLR与IL分别是什么含义
2016/08/23 面试题
中国央视网签名寄语
2014/01/18 职场文书
高三毕业典礼主持词
2014/03/27 职场文书
反腐倡廉警示教育活动总结
2014/05/05 职场文书
社区春季防火方案
2014/06/02 职场文书
2014年政教处工作总结
2014/12/20 职场文书
HttpClient实现文件上传功能
2022/08/14 Java/Android