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的gevent框架下执行异步的Solr查询的教程
Apr 16 Python
Python安装官方whl包和tar.gz包的方法(推荐)
Jun 04 Python
基于Python3.6+splinter实现自动抢火车票
Sep 25 Python
使用Python机器学习降低静态日志噪声
Sep 29 Python
Python3实现取图片中特定的像素替换指定的颜色示例
Jan 24 Python
手把手教你使用Python创建微信机器人
Apr 29 Python
nginx黑名单和django限速,最简单的防恶意请求方法分享
Aug 09 Python
Python CSV文件模块的使用案例分析
Dec 21 Python
Python+OpenCV实现旋转文本校正方式
Jan 09 Python
Python尾递归优化实现代码及原理详解
Oct 09 Python
python 通过exifread读取照片信息
Dec 24 Python
pycharm配置QtDesigner的超详细方法
Jan 25 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中的类-什么叫类
2006/11/20 PHP
PHP开发者常犯的10个MySQL错误更正剖析
2012/01/30 PHP
PHP中模拟处理HTTP PUT请求的例子
2014/07/22 PHP
php使用正则表达式获取图片url的方法
2015/01/16 PHP
php判断两个日期之间相差多少个月份的方法
2015/06/18 PHP
基于laravel制作APP接口(API)
2016/03/15 PHP
CI框架源码解读之URI.php中_fetch_uri_string()函数用法分析
2016/05/18 PHP
yii2实现根据时间搜索的方法
2016/05/25 PHP
PHP递归获取目录内所有文件的实现方法
2016/11/01 PHP
PHP获取文件扩展名的方法实例总结
2017/06/10 PHP
彻底搞懂JS无缝滚动代码
2007/01/03 Javascript
JS代码优化技巧之通俗版(减少js体积)
2011/12/23 Javascript
用js闭包的方法实现多点标注冒泡示例
2014/05/29 Javascript
判断window.onload是否多次使用的方法
2014/09/21 Javascript
JavaScript的Number对象的toString()方法
2015/12/18 Javascript
Js获取当前日期时间及格式化代码
2016/09/17 Javascript
jQuery  ready方法实现原理详解
2016/10/19 Javascript
jQuery中map函数的两种方式
2017/04/07 jQuery
layui选项卡效果实现代码
2017/05/19 Javascript
Vue非父子组件通信详解
2017/06/12 Javascript
ES6下子组件调用父组件的方法(推荐)
2018/02/23 Javascript
详解小程序如何避免多次点击,重复触发事件
2019/04/08 Javascript
详解React的回调渲染模式
2020/09/10 Javascript
[05:35]DOTA2英雄梦之声_第13期_拉比克
2014/06/21 DOTA
python测试驱动开发实例
2014/10/08 Python
编写同时兼容Python2.x与Python3.x版本的代码的几个示例
2015/03/30 Python
Python中str.format()详解
2017/03/12 Python
Django如何自定义分页
2018/09/25 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
2021/03/03 Python
布局和排版教程 纯css3实现图片三角形排列
2014/10/17 HTML / CSS
Burberry英国官网:英国标志性奢侈品牌
2017/03/29 全球购物
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
2014/12/30 面试题
2014年班干部工作总结
2014/11/25 职场文书
党员带头倡议书
2015/04/29 职场文书
2019公司借款合同范本2篇!
2019/07/24 职场文书
PHP解决高并发问题
2021/04/01 PHP