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实现的一个p2p文件传输实例
Jun 04 Python
Python循环语句之break与continue的用法
Oct 14 Python
python实现中文转换url编码的方法
Jun 14 Python
Python 实现数据库(SQL)更新脚本的生成方法
Jul 09 Python
Python数据结构与算法之列表(链表,linked list)简单实现
Oct 30 Python
Python选择网卡发包及接收数据包
Apr 04 Python
python 设置输出图像的像素大小方法
Jul 04 Python
python如何实现异步调用函数执行
Jul 08 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
Nov 15 Python
dpn网络的pytorch实现方式
Jan 14 Python
调整Jupyter notebook的启动目录操作
Apr 10 Python
Keras官方中文文档:性能评估Metrices详解
Jun 15 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
php自动适应范围的分页代码
2008/08/05 PHP
PHP设计模式 注册表模式(多个类的注册)
2012/02/05 PHP
解析argc argv在php中的应用
2013/06/24 PHP
提交表单后 PHP获取提交内容的实现方法
2016/05/25 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
Laravel框架实现调用百度翻译API功能示例
2019/05/30 PHP
实现laravel 插入操作日志到数据库的方法
2019/10/11 PHP
javascript onkeydown,onkeyup,onkeypress,onclick,ondblclick
2009/02/04 Javascript
修改jQuery Validation里默认的验证方法
2012/02/14 Javascript
Javascript验证上传图片大小[前台处理]
2014/07/18 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
2015/01/07 Javascript
JavaScript中的函数嵌套使用
2015/06/04 Javascript
简介JavaScript中的setDate()方法的使用
2015/06/11 Javascript
javascript的变量、传值、传址、参数之间关系
2015/07/26 Javascript
JS实现具备延时功能的滑动门菜单效果
2015/09/17 Javascript
深入理解JS正则表达式---分组
2016/07/18 Javascript
JQ选择器_选择同类元素的第N个子元素的实现方法
2016/09/08 Javascript
谈谈因Vue.js引发关于getter和setter的思考
2016/12/02 Javascript
Angular中支持SCSS的方法
2017/11/18 Javascript
React Native悬浮按钮组件的示例代码
2018/04/05 Javascript
vue多页面项目中路由使用history模式的方法
2019/09/23 Javascript
vue 取出v-for循环中的index值实例
2019/11/09 Javascript
[03:15]2014DOTA2国际邀请赛 专访国士无双信心满满
2014/07/12 DOTA
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
Python中的字符串类型基本知识学习教程
2016/02/04 Python
python opencv实现图片旋转矩形分割
2018/07/26 Python
PyQt5 QListWidget选择多项并返回的实例
2019/06/17 Python
python实现文件的分割与合并
2019/08/29 Python
python中JWT用户认证的实现
2020/05/18 Python
协程Python 中实现多任务耗资源最小的方式
2020/10/19 Python
详解纯CSS3制作的20种loading动效
2017/07/05 HTML / CSS
美国女鞋品牌:naturalizer(娜然)
2016/08/01 全球购物
Bandier官网:奢侈、时尚前卫的健身服装首选目的地
2020/07/05 全球购物
培训讲师岗位职责
2014/04/13 职场文书
学生会感恩节活动方案
2014/10/11 职场文书
观看安全警示教育片心得体会
2016/01/15 职场文书