def rmb_upper(num):
mapp={0: '零', 1: '壹', 2: '贰', 3: '叁', 4: '肆', 5: '伍', 6: '陆', 7: '柒', 8: '捌', 9: '玖'}
di={0: '分', 1: '角', 2: '元', 3: '拾', 4: '百', 5: '千', 6: '万', 7: '拾', 8: '百', 9: '千',
10: '亿', 11: '拾', 12: '百', 13: '千', 14: '万', 15: '拾', 16: '百', 17: '千', 18: '兆'}
a=float(num)
a=str(round(a,2)).split('.')
listt=a[0]+a[1][::-1].zfill(2)[::-1]
resul=[]
for i,j in enumerate(list(listt)[::-1]):
a=[mapp[int(j)]+di[i]]
if a[0] in ['零亿','零万','零兆']:
a=a[-1]
elif a[0][0]=='零':
a='零'
resul+=a
resul=''.join(resul[::-1])
if resul[-2:]=='零零':
resul=resul[:-2]+'整'
elif resul[-2:]=='零':
resul=resul[:-1]
if '零零' in resul:
resul=resul.replace('零零','零')
return resul
if __name__ == '__main__':
print(rmb_upper(81777258.5613))
print(1321311321321233232132212.01)
print('数字太大了会有异常')