python实现数字转换为汉字大写


 1 def convert(num):
 2     ch_num=['','','','','','','','','','','']
 3     s_unit=['','','','']
 4     b_unit=['','', '亿', '', '', '', '', '', '', '', '', '', '', ['恒河沙'], ['阿僧祇'], ['那由他'], ['不可思议'], ['无量大数']]
 5 
 6     numlist = list(map(int,str(num)))
 7     numlist.reverse()
 8     l=[]
 9     j=0
10     for i in range(0, len(numlist), 4):
11         p=[]
12         if sum(numlist[i:i+4]):
13             for ii in range(0, 4):             
14                 if (i+ii)<len(numlist):
15                     if numlist[i+ii]:
16                         p.append([s_unit[ii],ch_num[numlist[i+ii]]])
17                     else:
18                         if p and p[-1] != ['']:
19                             p.append([''])
20             if j < len(b_unit):
21                 l.append([b_unit[j]]+p)
22             else:
23                 return "数字太大,超出计量范围!!"
24         else:
25             if l and l[-1]!=[''] and l[-1][-1]!=['']:
26                 l.append([''])
27         j += 1
28     l = [c for a in l for b in a for c in b if c]
29     l.reverse()
30     l=''.join(l)
31     return l

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM