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 表达式和语句及for、while循环练习实例
Jul 07 Python
python微信跳一跳系列之自动计算跳一跳距离
Feb 26 Python
django manage.py扩展自定义命令方法
May 27 Python
Python实现账号密码输错三次即锁定功能简单示例
Mar 29 Python
详解Python 解压缩文件
Apr 09 Python
PyQt+socket实现远程操作服务器的方法示例
Aug 22 Python
对python中assert、isinstance的用法详解
Nov 27 Python
40行Python代码实现天气预报和每日鸡汤推送功能
Feb 27 Python
PyQt5的相对布局管理的实现
Aug 07 Python
python3代码中实现加法重载的实例
Dec 03 Python
Pyside2中嵌入Matplotlib的绘图的实现
Feb 22 Python
python cv2图像质量压缩的算法示例
Jun 04 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类
2006/11/27 PHP
Godaddy空间Zend Optimizer升级方法
2010/05/10 PHP
php实现的生成迷宫与迷宫寻址算法完整实例
2017/11/06 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
纯JS实现的批量图片预览加载功能
2011/08/14 Javascript
js获取触发事件元素在整个网页中的绝对坐标(示例代码)
2013/12/13 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
2015/08/05 Javascript
javascript日期格式化方法汇总
2015/10/04 Javascript
简单的js表格操作
2016/09/24 Javascript
Javascript typeof与instanceof的区别
2016/10/18 Javascript
EasyUI学习之Combobox级联下拉列表(2)
2016/12/29 Javascript
bootstrap选项卡使用方法解析
2017/01/11 Javascript
AngularJS 限定$scope的范围实例详解
2017/06/23 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
JavaScript门道之标准库
2018/05/26 Javascript
移动端图片上传旋转、压缩问题的方法
2018/10/16 Javascript
详解如何在vue项目中使用layui框架及采坑
2019/05/05 Javascript
小程序实现按下录音松开识别语音
2019/11/22 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
Vuex的热更替如何实现
2020/06/05 Javascript
Python自动化部署工具Fabric的简单上手指南
2016/04/19 Python
多版本Python共存的配置方法
2017/05/22 Python
解决python文件字符串转列表时遇到空行的问题
2017/07/09 Python
Tensorflow 合并通道及加载子模型的方法
2018/07/26 Python
对Python中小整数对象池和大整数对象池的使用详解
2019/07/09 Python
django 解决扩展自带User表遇到的问题
2020/05/14 Python
基于plt.title无法显示中文的快速解决
2020/05/16 Python
Python requests接口测试实现代码
2020/09/08 Python
美国糖果店:Sugarfina
2019/02/21 全球购物
聘任书的写作格式及范文
2014/03/29 职场文书
政风行风评议个人心得体会
2014/10/29 职场文书
2016高中社会实践心得体会范文
2016/01/14 职场文书
初三英语教学反思
2016/02/15 职场文书
《揠苗助长》教学反思
2016/02/20 职场文书
德生BCL3000抢先使用感受和评价
2022/04/07 无线电