玩蛇网提供最新Python编程技术信息以及Python资源下载!

阿拉伯数字转换成大写汉字的Python代码

python 培训

学习python语言不但可以在解决工作中的问题,还可以编写些小程序,来完成一些大众日常的应用。像是有需要把小写金额变成大写汉字的方法就先实用。阿拉伯数字转换成大写汉字的Python代码,一起来看下。

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
#---------www.iplaypython.com--------------------

    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)

玩蛇网原创,转载请注明文章出处和来源网址:http://www.iplaypython.com/code/base/b2640.html



微信公众号搜索"玩蛇网Python之家"加关注,每日最新的Python资讯、图文视频教程可以让你一手全掌握。强烈推荐关注!

微信扫描下图可直接关注

玩蛇网Python新手QQ群,欢迎加入: ① 240764603 玩蛇网Python新手群
文章发布日期:2016-03-28 09:53 玩蛇网 www.iplaypython.com

评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
  • 瞳&哖
    2016-12-08 10:56:11发表

    我靠,真牛逼,很pythonc,杠杠滴。

相关文章推荐
别人正在看
特别推荐
去顶部去底部