免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3671 | 回复: 1
打印 上一主题 下一主题

[原创]人民币金额转大写 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-03-09 17:10 |只看该作者 |倒序浏览
本帖最后由 wmjie 于 2011-03-09 17:14 编辑

看到有java 版的转换,写个 python 的
  1. #!/usr/bin/python
  2. #coding: utf-8

  3. def toBig(money=0,rmb=None):
  4.     big = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
  5.     rmb = ['分', '角', '圆', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿', '拾', '佰', '仟', '万','拾', '佰', '仟','万','亿']
  6.     if rmb:
  7.         rmb = rmb
  8.         
  9.     #转成字符串
  10.     str_money = str( int(money * 100) )[::-1]
  11.     big_money = ''
  12.    
  13.     #拼大写金额
  14.     for i in xrange(len(str_money)):
  15.         n = ord(str_money[i]) - ord('0')
  16.         big_money = big[n] + rmb[i] + big_money
  17.    
  18.     #去掉零
  19.     rule = ('零仟', '零',
  20.             '零佰', '零',
  21.             '零拾', '零',
  22.             '零亿', '亿',
  23.             '零万', '万',
  24.             '零元', '元',
  25.             '零角', '零',
  26.             '零分', '零',
  27.             '零零', '零',
  28.             '零亿', '亿',
  29.             '零零', '零',
  30.             '零万', '万',
  31.             '零零', '零',
  32.             '零圆', '圆',
  33.             '亿万', '亿',
  34.             '零, '',
  35.             '圆$, '圆整')
  36.    
  37.     for i in xrange(0,len(rule),2):
  38.         big_money = big_money.replace(rule[i], rule[i+1])
  39.         
  40.     return big_money
  41.         
  42.    
  43. if __name__ == '__main__':
  44.     print toBig(1200003456.78)
复制代码

论坛徽章:
0
2 [报告]
发表于 2012-07-17 14:23 |只看该作者
有趣,顶
代码后面的rule后面少了两个'号
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP