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实现将n个点均匀地分布在球面上的方法
Mar 12 Python
Python中利用sqrt()方法进行平方根计算的教程
May 15 Python
在Python程序中操作MySQL的基本方法
Jul 29 Python
Python实现的快速排序算法详解
Aug 01 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
May 26 Python
Python3.6使用tesseract-ocr的正确方法
Oct 17 Python
对python xlrd读取datetime类型数据的方法详解
Dec 26 Python
使用Django开发简单接口实现文章增删改查
May 09 Python
python的pytest框架之命令行参数详解(下)
Jun 27 Python
python3实现elasticsearch批量更新数据
Dec 03 Python
python 常见的反爬虫策略
Sep 27 Python
python数字图像处理实现图像的形变与缩放
Jun 28 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
一个可以删除字符串中HTML标记的PHP函数
2006/10/09 PHP
利用ajax和PHP实现简单的流程管理
2017/03/23 PHP
PHP实现的折半查询算法示例
2017/10/09 PHP
php如何把表单内容提交到数据库
2019/07/08 PHP
jQuery选择头像并实时显示的代码
2010/06/27 Javascript
jQuery EasyUI API 中文文档 可调整尺寸
2011/09/29 Javascript
前台js改变Session的值(用ajax实现)
2012/12/28 Javascript
AngularJS语法详解
2015/01/23 Javascript
javascript日期操作详解(脚本之家整理)
2015/09/05 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
原生JavaScript实现瀑布流布局
2020/06/28 Javascript
BootStrap3学习笔记(一)之网格系统
2016/05/20 Javascript
简单易懂的天气插件(代码分享)
2017/02/04 Javascript
weex里Vuex state使用storage持久化详解
2017/09/09 Javascript
Three.js中网格对象MESH的属性与方法详解
2017/09/27 Javascript
10分钟上手vue-cli 3.0 入门介绍
2018/04/04 Javascript
javascript的this关键字详解
2019/05/20 Javascript
一行JavaScript代码如何实现瀑布流布局
2020/12/11 Javascript
Python实现多线程抓取妹子图
2015/08/08 Python
tensorflow训练中出现nan问题的解决
2018/02/10 Python
django用户登录和注销的实现方法
2018/07/16 Python
Python实现把多维数组展开成DataFrame
2019/11/30 Python
keras 如何保存最佳的训练模型
2020/05/25 Python
Python虚拟环境virtualenv创建及使用过程图解
2020/12/08 Python
Python基础进阶之海量表情包多线程爬虫功能的实现
2020/12/17 Python
html5 input属性使用示例
2013/06/28 HTML / CSS
Marks & Spencer爱尔兰:英国马莎百货
2016/04/20 全球购物
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
动漫专业高职生职业生涯规划书
2014/02/15 职场文书
大学生两会学习心得体会
2014/03/10 职场文书
中学学校门卫岗位职责
2014/08/15 职场文书
环卫工人节活动总结
2014/08/29 职场文书
党员对照检查剖析材料
2014/10/13 职场文书
500字作文之关于爸爸
2019/11/14 职场文书
python中的None与NULL用法说明
2021/05/25 Python
详解Spring Security中的HttpBasic登录验证模式
2022/03/17 Java/Android