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小脚本查询同ip网站
May 08 Python
python批量替换多文件字符串问题详解
Apr 22 Python
python定时关机小脚本
Jun 20 Python
Python饼状图的绘制实例
Jan 15 Python
Python:Numpy 求平均向量的实例
Jun 29 Python
Django模型修改及数据迁移实现解析
Aug 01 Python
Python 50行爬虫抓取并处理图灵书目过程详解
Sep 20 Python
分享PyCharm的几个使用技巧
Nov 10 Python
Python如何基于selenium实现自动登录博客园
Dec 16 Python
Python有参函数使用代码实例
Jan 06 Python
Python OpenCV快速入门教程
Apr 17 Python
Python pandas读取CSV文件的注意事项(适合新手)
Jun 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把字符串指定字符分割成数组的方法
2018/03/12 PHP
js获取电脑分辨率的思路及操作
2013/11/22 Javascript
JS去除字符串两端空格的简单实例
2013/12/27 Javascript
JS实现的网页背景闪电闪烁效果代码
2015/10/17 Javascript
jquery实现简单Tab切换菜单效果
2020/07/17 Javascript
Vuejs第十一篇组件之slot内容分发实例详解
2016/09/09 Javascript
bootstrap滚动监控器使用方法解析
2017/01/13 Javascript
JavaScript自定义文本框光标
2017/03/05 Javascript
Express + Node.js实现登录拦截器的实例代码
2017/07/01 Javascript
Angular4实现图片上传预览路径不安全的问题解决
2017/12/25 Javascript
详解ES6 export default 和 import语句中的解构赋值
2019/05/28 Javascript
详解React 条件渲染
2020/07/08 Javascript
JavaScript中作用域链的概念及用途讲解
2020/08/06 Javascript
Python编程中的文件读写及相关的文件对象方法讲解
2016/01/19 Python
Python基础教程之内置函数locals()和globals()用法分析
2018/03/16 Python
python3实现字符串操作的实例代码
2019/04/16 Python
python和c语言的主要区别总结
2019/07/07 Python
解决pycharm最左侧Tool Buttons显示不全的问题
2019/12/17 Python
Python 余弦相似度与皮尔逊相关系数 计算实例
2019/12/23 Python
Python Django2 model 查询介绍(条件、范围、模糊查询)
2020/03/16 Python
Django权限控制的使用
2021/01/07 Python
Tech21美国/加拿大:英国NO.1防摔保护壳品牌
2018/01/20 全球购物
关联、聚合(Aggregation)以及组合(Composition)的区别
2012/02/29 面试题
生物技术专业研究生自荐信
2013/09/22 职场文书
学生会竞选自荐信
2013/10/12 职场文书
社区交通安全实施方案
2014/03/22 职场文书
导师推荐信范文
2014/05/09 职场文书
国际贸易毕业生求职信
2014/07/20 职场文书
工作作风承诺书
2014/08/30 职场文书
工作经历证明书范文
2014/11/02 职场文书
2014年学生会工作总结范文
2014/11/07 职场文书
考研英语复习计划
2015/01/19 职场文书
档案接收函格式
2015/01/30 职场文书
培训师岗位职责
2015/02/14 职场文书
电力培训学习心得体会
2016/01/11 职场文书
pytorch 带batch的tensor类型图像显示操作
2021/05/20 Python