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中获取对象信息的方法
Apr 27 Python
python中尾递归用法实例详解
Apr 28 Python
python使用socket连接远程服务器的方法
Apr 29 Python
python之Character string(实例讲解)
Sep 25 Python
Python排序搜索基本算法之选择排序实例分析
Dec 09 Python
PyQt5每天必学之创建窗口居中效果
Apr 19 Python
python日期时间转为字符串或者格式化输出的实例
May 29 Python
python环境路径配置以及命令行运行脚本
Apr 02 Python
python自定义时钟类、定时任务类
Feb 22 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
May 25 Python
Python基础教程(一)——Windows搭建开发Python开发环境
Jul 20 Python
python中的sys模块和os模块
Mar 20 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多文件上传实例
2015/07/09 PHP
PHP内核探索之变量
2015/12/22 PHP
Symfony2学习笔记之插件格式分析
2016/03/17 PHP
[原创]php求圆周率的简单实现方法
2016/05/30 PHP
js onpropertychange输入框 事件获取属性
2009/03/26 Javascript
jQuery实现高亮显示网页关键词的方法
2015/08/07 Javascript
jQuery鼠标事件汇总
2015/08/30 Javascript
Javascript闭包与函数柯里化浅析
2016/06/22 Javascript
更靠谱的H5横竖屏检测方法(js代码)
2016/09/13 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
javascript动画之磁性吸附效果篇
2016/12/09 Javascript
angularjs过滤器--filter与ng-repeat配合有奇效
2017/04/20 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
利用JavaScript如何查询某个值是否数组内
2017/07/30 Javascript
Vue-Cli中自定义过滤器的实现代码
2017/08/12 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
浅谈webpack4.x 入门(一篇足矣)
2018/09/05 Javascript
H5+C3+JS实现五子棋游戏(AI篇)
2020/05/28 Javascript
开发用到的js封装方法(20种)
2018/10/12 Javascript
layui实现checkbox的目录树tree的例子
2019/09/12 Javascript
浅析Vue 中的 render 函数
2020/02/28 Javascript
[03:09]显微镜下的DOTA2第一期——带你走进华丽的DOTA2世界
2014/06/20 DOTA
Python中的字典遍历备忘
2015/01/17 Python
Python 列表排序方法reverse、sort、sorted详解
2016/01/22 Python
简单了解Python matplotlib线的属性
2019/06/29 Python
浅谈spring boot 集成 log4j 解决与logback冲突的问题
2020/02/20 Python
澳大利高级泳装品牌:Bondi Born
2018/05/23 全球购物
PHP中如何使用Cookie
2015/10/28 面试题
2013年学期结束动员演讲稿
2014/01/07 职场文书
解除劳动合同协议书
2014/04/14 职场文书
关于感恩的演讲稿800字
2014/08/26 职场文书
七一讲话心得体会
2014/09/05 职场文书
领导班子个人对照检查剖析材料
2014/09/29 职场文书
单位委托函范文
2015/01/29 职场文书
2016年端午节校园广播稿
2015/12/18 职场文书
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS