在Python代码中把金额大小写转换方法


以下的文章主要介绍的是在Python代码中把金额小写转换成大写的实际应用代码的示例,如果你在用Python代码中把金额小写转换成大写的实际操作中哟不解之处。你就可以点击以下的文章对其进行了解。

关键字: Decorator 连接Oracle数据库 SQLObject 设计模式 TurboGears 测试框架

本文详细介绍把金额小写转换成大写的Python代码功能将小于十万亿元的小写金额转换为大写

代码

  1. CODE:  
  2. def IIf( b, s1, s2):  
  3. if b:  
  4. return s1  
  5. else:  
  6. return s2  
  7. def num2chn(nin=None):  
  8. cs =  
  9. ('零','壹','贰','叁','肆','伍','陆','柒','捌','玖','◇','分','角','圆','拾','佰','仟',  
  10. '万','拾','佰','仟','亿','拾','佰','仟','万')  
  11. st = ''st1='' 
  12. s = '%0.2f' % (nin)  
  13. sln =len(s)  
  14. if sln >; 15: return None  
  15. fg = (nin<1)  
  16. for i in range(0, sln-3):  
  17. ns = ord(s[sln-i-4]) - ord('0')  
  18. st=IIf((ns==0)and(fg or (i==8)or(i==4)or(i==0)), '', cs[ns])  
  19. + IIf((ns==0)and((i<>;8)and(i<>;4)and(i<>;0)or fg  
  20. and(i==0)),'', cs[i+13])  
  21. + st  
  22. fg = (ns==0)  
  23. fg = False 
  24. for i in [1,2]:  
  25. ns = ord(s[sln-i]) - ord('0')  
  26. st1 = IIf((ns==0)and((i==1)or(i==2)and(fg or (nin<1))), '', cs[ns])  
  27. + IIf((ns>;0), cs[i+10], IIf((i==2) or fg, '', '整'))  
  28. + st1  
  29. fg = (ns==0)  
  30. st.replace('亿万','万')  
  31. return IIf( nin==0, '零', st + st1)  
  32. if __name__ == '__main__':  
  33. num = 12340.1  
  34. print num  
  35. print num2chn(num) 

在Python代码中把金额小写转换成大写的代码详解

评论关闭