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实用技巧两则
Aug 29 Python
简单的Python2.7编程初学经验总结
Apr 01 Python
在Django中编写模版节点及注册标签的方法
Jul 20 Python
Python的Django框架中消息通知的计数器实现教程
Jun 13 Python
AI人工智能 Python实现人机对话
Nov 13 Python
pandas 使用apply同时处理两列数据的方法
Apr 20 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
Oct 21 Python
python实现视频读取和转化图片
Dec 10 Python
解决tensorboard多个events文件显示紊乱的问题
Feb 15 Python
python logging 日志的级别调整方式
Feb 21 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
Jul 03 Python
Python的collections模块真的很好用
Mar 01 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实现的功能是显示8条基色色带
2006/10/09 PHP
rephactor 优秀的PHP的重构工具
2011/06/09 PHP
Laravel 4 初级教程之安装及入门
2014/10/30 PHP
JavaScript取得鼠标绝对位置程序代码介绍
2012/09/16 Javascript
文本框input聚焦失焦样式实现代码
2012/10/12 Javascript
浅析ajax请求json数据并用js解析(示例分析)
2013/07/13 Javascript
Javascript简单实现可拖动的div
2013/10/22 Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
2013/11/25 Javascript
toggle()隐藏问题的解决方法
2014/02/17 Javascript
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
jquery操作select方法汇总
2015/02/05 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
2015/11/15 Javascript
JavaScript中循环遍历Array与Map的方法小结
2016/03/12 Javascript
JavaScript 消息框效果【实现代码】
2016/04/27 Javascript
全面解析bootstrap格子布局
2016/05/22 Javascript
浅谈js构造函数的方法与原型prototype
2016/07/04 Javascript
深入理解JS实现快速排序和去重
2016/10/17 Javascript
jquery+ajax实现省市区三级联动效果简单示例
2017/01/04 Javascript
学习使用Bootstrap页面排版样式
2017/05/11 Javascript
vuex中使用对象展开运算符的示例
2017/09/25 Javascript
详解Node 定时器
2018/02/26 Javascript
JS+CSS3实现的简易钟表效果示例
2019/04/13 Javascript
[09:33]2015国际邀请赛第四日TOP10
2015/08/08 DOTA
Python Web框架Pylons中使用MongoDB的例子
2013/12/03 Python
python 禁止函数修改列表的实现方法
2017/08/03 Python
如何使用VSCode愉快的写Python于调试配置步骤
2018/04/06 Python
python画折线图的程序
2018/07/26 Python
python爬取盘搜的有效链接实现代码
2019/07/20 Python
阿里云ECS服务器部署django的方法
2019/08/29 Python
使用python turtle画高达
2020/01/19 Python
使用Tensorflow将自己的数据分割成batch训练实例
2020/01/20 Python
Python实现快速大文件比较代码解析
2020/09/04 Python
CSS中的字体大小设置属性总结
2016/05/24 HTML / CSS
2014年党的群众路线教育实践活动总结
2014/04/25 职场文书
简单的辞职信怎么写
2015/02/28 职场文书
Python 详解通过Scrapy框架实现爬取CSDN全站热榜标题热词流程
2021/11/11 Python