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捕捉和模拟鼠标事件的方法
Jun 03 Python
python中日志logging模块的性能及多进程详解
Jul 18 Python
python面向对象法实现图书管理系统
Apr 19 Python
django 通过URL访问上传的文件方法
Jul 28 Python
简单了解python 生成器 列表推导式 生成器表达式
Aug 22 Python
python SocketServer源码深入解读
Sep 17 Python
Python3 把一个列表按指定数目分成多个列表的方式
Dec 25 Python
python 爬虫 实现增量去重和定时爬取实例
Feb 28 Python
python模拟哔哩哔哩滑块登入验证的实现
Apr 24 Python
django 模版关闭转义方式
May 14 Python
使用Keras 实现查看model weights .h5 文件的内容
Jun 09 Python
Python源码解析之List
May 21 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与MySQL交互使用详解
2006/10/09 PHP
excellent!――ASCII Art(由目标图象生成ascii)
2007/02/20 PHP
php面向对象与面向过程两种方法给图片添加文字水印
2015/08/26 PHP
PHP微信红包API接口
2015/12/05 PHP
使用vs code编辑调试php配置的方法
2019/01/29 PHP
jquery URL参数判断,确定菜单样式
2010/05/31 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
jquery获取URL中参数解决中文乱码问题的两种方法
2013/12/18 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
2016/03/05 Javascript
Web安全测试之XSS实例讲解
2016/08/15 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
2016/12/12 Javascript
JavaScript实现前端实时搜索功能
2020/03/26 Javascript
微信小程序中显示html格式内容的方法
2017/04/25 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
vue2.x+webpack快速搭建前端项目框架详解
2017/11/30 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
2018/10/18 Javascript
浅谈JS的原型和继承
2019/05/08 Javascript
介绍Python中的一些高级编程技巧
2015/04/02 Python
python正则分析nginx的访问日志
2017/01/17 Python
如何使用Python实现斐波那契数列
2019/07/02 Python
python 画出使用分类器得到的决策边界
2019/08/21 Python
pygame实现打字游戏
2021/02/19 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
Pytorch DataLoader 变长数据处理方式
2020/01/08 Python
CSS中垂直居中的简单实现方法
2015/07/06 HTML / CSS
澳大利亚便宜的家庭购物网站:CrazySales
2018/02/06 全球购物
岗位职责的构建方法
2014/02/01 职场文书
内衣营销方案
2014/03/15 职场文书
教师批评与自我批评总结
2014/10/16 职场文书
临床医学生职业规划书范文
2014/10/25 职场文书
升职自荐信怎么写
2015/03/05 职场文书
修辞手法有哪些?
2019/08/29 职场文书
《敬重卑微》读后感3篇
2019/11/26 职场文书
mysql 8.0.24 安装配置方法图文教程
2021/05/12 MySQL
sql注入报错之注入原理实例解析
2022/06/10 MySQL