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 Sleep休眠函数使用简单实例
Feb 02 Python
Python实现的数据结构与算法之链表详解
Apr 22 Python
详解Python当中的字符串和编码
Apr 25 Python
python实现多线程抓取知乎用户
Dec 12 Python
python利用OpenCV2实现人脸检测
Apr 16 Python
Python进程间通信Queue消息队列用法分析
May 22 Python
python绘图模块matplotlib示例详解
Jul 26 Python
Python 字符串、列表、元组的截取与切片操作示例
Sep 17 Python
python实现梯度下降和逻辑回归
Mar 24 Python
jupyter notebook运行命令显示[*](解决办法)
May 18 Python
Python 实现将某一列设置为str类型
Jul 14 Python
python解压zip包中文乱码解决方法
Nov 27 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 和 MySQL 基础教程(二)
2006/10/09 PHP
php 文件上传系统手记
2009/10/26 PHP
PHP实现将MySQL重复ID二维数组重组为三维数组的方法
2016/08/01 PHP
CI(CodeIgniter)框架中URL特殊字符处理与SQL注入隐患分析
2019/02/28 PHP
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
2013/06/29 Javascript
文本框只能选择数据到文本框禁止手动输入
2013/11/22 Javascript
jquery 获取dom固定元素 添加样式的简单实例
2014/02/04 Javascript
AngularJS入门教程之学习环境搭建
2014/12/06 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
2015/04/30 Javascript
JavaScript和JQuery的鼠标mouse事件冒泡处理
2015/06/19 Javascript
jQuery 常用代码集锦(必看篇)
2016/05/16 Javascript
使用jquery获取url及url参数的简单实例
2016/06/14 Javascript
Vue的MVVM实现方法
2017/08/16 Javascript
给vue项目添加ESLint的详细步骤
2017/09/29 Javascript
微信小程序实现九宫格抽奖
2020/04/15 Javascript
ES6数组与对象的解构赋值详解
2019/06/14 Javascript
javascript解析json格式的数据方法详解
2020/08/07 Javascript
Python访问MongoDB,并且转换成Dataframe的方法
2018/10/15 Python
TensorFlow dataset.shuffle、batch、repeat的使用详解
2020/01/21 Python
pycharm 关掉syntax检查操作
2020/06/09 Python
使用CSS Grid布局实现网格的流动
2014/12/30 HTML / CSS
如何让Java程序执行效率更高
2014/06/25 面试题
详解如何解决使用JSON.stringify时遇到的循环引用问题
2021/03/23 Javascript
个人实用简单的自我评价
2013/10/19 职场文书
项目资料员岗位职责
2013/12/10 职场文书
成功的餐厅经营创业计划书
2014/01/15 职场文书
浙大毕业生自荐信
2014/01/26 职场文书
偷看我的初中毕业鉴定
2014/01/29 职场文书
开业庆典策划方案
2014/02/18 职场文书
乡镇交通安全实施方案
2014/03/29 职场文书
干部考核评语
2014/04/29 职场文书
英语课前三分钟演讲稿
2014/08/19 职场文书
出租房屋协议书
2014/09/14 职场文书
2014年小学安全工作总结
2014/12/04 职场文书
浅析Django接口版本控制
2021/06/26 Python