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 统计代码行数简单实例
May 04 Python
Python表示矩阵的方法分析
May 26 Python
python实现简单http服务器功能
Sep 17 Python
python3 pygame实现接小球游戏
May 14 Python
解决python super()调用多重继承函数的问题
Jun 26 Python
Pytorch基本变量类型FloatTensor与Variable用法
Jan 08 Python
Django操作session 的方法
Mar 09 Python
Python3 ID3决策树判断申请贷款是否成功的实现代码
May 21 Python
Python控制台输出俄罗斯方块的方法实例
Apr 17 Python
tensorflow中的梯度求解及梯度裁剪操作
May 26 Python
Python 中 Shutil 模块详情
Nov 11 Python
Python数据可视化之Seaborn的安装及使用
Apr 19 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 引用(&amp;)详解
2009/11/20 PHP
PHP 验证码的实现代码
2011/07/17 PHP
CodeIgniter使用smtp服务发送html邮件的方法
2015/06/10 PHP
php微信公众号js-sdk开发应用
2016/11/28 PHP
PHP attributes()函数讲解
2019/02/03 PHP
php 使用mpdf实现指定字段配置字体样式的方法
2019/07/29 PHP
IE本地存储userdata的一个bug说明
2010/07/01 Javascript
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
jquery渐隐渐显的图片幻灯闪烁切换实现方法
2015/02/26 Javascript
介绍JavaScript的一个微型模版
2015/06/24 Javascript
安装使用Mongoose配合Node.js操作MongoDB的基础教程
2016/03/01 Javascript
JS实现简单易用的手机端浮动窗口显示效果
2016/09/07 Javascript
扩展jquery easyui tree的搜索树节点方法(推荐)
2016/10/28 Javascript
手动初始化Angular的模块与控制器
2016/12/26 Javascript
js实现上传并压缩图片效果
2018/01/10 Javascript
vue--vuex详解
2019/04/15 Javascript
解决一个微信号同时支持多个环境网页授权问题
2019/08/07 Javascript
实现vuex原理的示例
2020/10/21 Javascript
Python中使用glob和rmtree删除目录子目录及所有文件的例子
2014/11/21 Python
简单说明Python中的装饰器的用法
2015/04/24 Python
python函数形参用法实例分析
2015/08/04 Python
Python监控主机是否存活并以邮件报警
2015/09/22 Python
Python 基础教程之闭包的使用方法
2017/09/29 Python
浅谈Python用QQ邮箱发送邮件时授权码的问题
2018/01/29 Python
python多进程读图提取特征存npy
2019/05/21 Python
python修改文件内容的3种方法详解
2019/11/15 Python
python的scipy.stats模块中正态分布常用函数总结
2021/02/19 Python
python实现MySQL指定表增量同步数据到clickhouse的脚本
2021/02/26 Python
求网格中的黑点分布
2013/11/06 面试题
护理学毕业生自荐信
2013/10/02 职场文书
财务部岗位职责
2013/11/19 职场文书
成功的餐厅经营创业计划书
2014/01/15 职场文书
个人充满哲理的自我评价
2014/02/20 职场文书
群众路线教育实践活动心得体会(四风)
2014/11/03 职场文书
2014年乡镇人大工作总结
2014/11/25 职场文书
家访教师心得体会
2016/01/23 职场文书