python将人民币转换大写的脚本代码


Posted in Python onFebruary 10, 2013
def Num2MoneyFormat( change_number ):
    """
    .转换数字为大写货币格式( format_word.__len__() - 3 + 2位小数 )
    change_number 支持 float, int, long, string
    """
    format_word = ["分", "角", "元",
               "拾","百","千","万",
               "拾","百","千","亿",
               "拾","百","千","万",
               "拾","百","千","兆"]    format_num = ["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"]
    if type( change_number ) == str:
        # - 如果是字符串,先尝试转换成float或int.
        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_word ) - 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                       #标记连续0次数,以删除万字,或适时插入零字
    start = len(real_numbers) - 3
    change_words = []
    for i in range(start, -3, -1):  #使i对应实际位数,负数为角分
        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_word[i+2])
        elif 0 == i or (0 == i%4 and zflag < 3):    #控制 万/元
            change_words.append(format_word[i+2])
            zflag = 0
        else:
            zflag += 1
    if change_words[-1] not in ( format_word[0], format_word[1]):
        # - 最后两位非"角,分"则补"整"
        change_words.append("整")
    return ''.join(change_words)

Python 把金额小写转换成大写2

功能将小于十万亿元的小写金额转换为大写

def IIf( b, s1, s2):

if b:


return s1

else:


return s2
def num2chn(nin=None):


cs =
('零','壹','贰','叁','肆','伍','陆','柒','捌','玖','◇','分','角','圆','拾','佰','仟',
'万','拾','佰','仟','亿','拾','佰','仟','万')


st = ''; st1=''


s = '%0.2f' % (nin)




sln =len(s)


if sln >; 15: return None


fg = (nin<1)


for i in range(0, sln-3):




ns = ord(s[sln-i-4]) - ord('0')




st=IIf((ns==0)and(fg or (i==8)or(i==4)or(i==0)), '', cs[ns])



+ IIf((ns==0)and((i<>;8)and(i<>;4)and(i<>;0)or fg
and(i==0)),'', cs[i+13])



+ st




fg = (ns==0)


fg = False


for i in [1,2]:




ns = ord(s[sln-i]) - ord('0')




st1 = IIf((ns==0)and((i==1)or(i==2)and(fg or (nin<1))), '', cs[ns])



 + IIf((ns>;0), cs[i+10], IIf((i==2) or fg, '', '整'))



 + st1




fg = (ns==0)


st.replace('亿万','万')


return IIf( nin==0, '零', st + st1)
if __name__ == '__main__':

num = 12340.1

print num

print num2chn(num)
Python 相关文章推荐
Python多线程下载文件的方法
Jul 10 Python
Python使用Selenium模块实现模拟浏览器抓取淘宝商品美食信息功能示例
Jul 18 Python
在python中安装basemap的教程
Sep 20 Python
Django中的forms组件实例详解
Nov 08 Python
解决Python中list里的中文输出到html模板里的问题
Dec 17 Python
Python基础教程之if判断,while循环,循环嵌套
Apr 25 Python
利用anaconda作为python的依赖库管理方法
Aug 13 Python
使用Python完成15位18位身份证的互转功能
Nov 06 Python
基于numpy中的expand_dims函数用法
Dec 18 Python
Python Pillow.Image 图像保存和参数选择方式
Jan 09 Python
关于Python OS模块常用文件/目录函数详解
Jul 01 Python
Python操作CSV格式文件的方法大全
Jul 15 Python
pydev使用wxpython找不到路径的解决方法
Feb 10 #Python
python的id()函数介绍
Feb 10 #Python
python client使用http post 到server端的代码
Feb 10 #Python
python中查找excel某一列的重复数据 剔除之后打印
Feb 10 #Python
python中的一些类型转换函数小结
Feb 10 #Python
学习python的几条建议分享
Feb 10 #Python
解决谷歌搜索技术文章时打不开网页问题的python脚本
Feb 10 #Python
You might like
php smarty模版引擎中的缓存应用
2009/12/11 PHP
PHP 冒泡排序算法的实现代码
2010/08/08 PHP
js中的escape及unescape函数的php实现代码
2007/09/04 Javascript
javascript:以前写的xmlhttp池,代码
2008/05/18 Javascript
ExtJS 2.0实用简明教程 之获得ExtJS
2009/04/29 Javascript
加载 Javascript 最佳实践
2011/10/30 Javascript
基于jquery的simpleValidate简易验证插件
2014/01/31 Javascript
JavaScript indexOf方法入门实例(计算指定字符在字符串中首次出现的位置)
2014/10/17 Javascript
简单理解JavaScript中的封装与继承特性
2016/03/19 Javascript
JavaScript的ExtJS框架中数面板TreePanel的使用实例解析
2016/05/21 Javascript
JavaScript对Json的增删改属性详解
2016/06/02 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
JavaScript条件判断_动力节点Java学院整理
2017/06/26 Javascript
elementUI多选框反选的实现代码
2019/04/03 Javascript
详解Vue template 如何支持多个根结点
2020/02/10 Javascript
vue prop传值类型检验方式
2020/07/30 Javascript
nuxt 实现在其它js文件中使用store的方式
2020/11/05 Javascript
基于vue项目设置resolves.alias: '@'路径并适配webstorm
2020/12/02 Vue.js
[02:03]永远的信仰DOTA2 中国军团历届国际邀请赛回顾
2016/06/26 DOTA
Python ftp上传文件
2016/02/13 Python
Python备份目录及目录下的全部内容的实现方法
2016/06/12 Python
Python读取文件内容的三种常用方式及效率比较
2017/10/07 Python
Django-Model数据库操作(增删改查、连表结构)详解
2019/07/17 Python
正则给header的冒号两边参数添加单引号(Python请求用)
2019/08/09 Python
浅谈CSS3动画的回调处理
2016/07/21 HTML / CSS
AmazeUI 导航条的实现示例
2020/08/14 HTML / CSS
台湾SHOPRO购物行家:亚洲首创影视.3C.家电.优质购物平台
2018/05/07 全球购物
即时搜索数百万张门票:SeatsForEveryone.com
2018/08/26 全球购物
澳大利亚墨尔本的在线时装店:LORETA
2018/09/14 全球购物
比利时的在线灯具店:Lampen24.be
2019/07/01 全球购物
C#中类(class)与结构(struct)的异同
2013/11/03 面试题
Linux面试经常问的文件系统操作命令
2016/10/04 面试题
图书室标语
2014/06/21 职场文书
2015秋学期开学寄语
2015/05/28 职场文书
MySQL性能压力基准测试工具sysbench的使用简介
2021/04/21 MySQL
Nginx+Tomcat负载均衡多实例详解
2022/04/11 Servers