|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
使用python 输入人民币大写金额转换为数字金额,金额最大到亿,超过十亿元请找自己的财务把~~
闲言少叙,上才艺!!
- def func(length, cn):
- ans = 0.0
- for i in range(0, length):
- if cn[i] in CN_NUM and cn[i + 1] in CN_UNIT:
- val, unit = CN_NUM[cn[i]], CN_UNIT[cn[i + 1]]
- ans += val * unit
- else:
- continue
- return round(ans, 2)
- def main():
- global CN_NUM, CN_UNIT
- CN_NUM = {
- '〇': 0, '一': 1, '二': 2, '三': 3, '四': 4, '五': 5, '六': 6, '七': 7, '八': 8, '九': 9, '零': 0,
- '壹': 1, '贰': 2, '叁': 3, '肆': 4, '伍': 5, '陆': 6, '柒': 7, '捌': 8, '玖': 9, '貮': 2, '两': 2,
- }
- CN_UNIT = {
- '元': 1,'十': 10,'拾': 10,'百': 100,'佰': 100,'千': 1000,'仟': 1000,'万': 10000,'萬': 10000,
- '亿': 10000,'億': 10000,'角': 0.1,'分': 0.01
- }
- print('退出请按q')
-
- while True:
- a = input('请输入大写金额(元):')
- if a in ['q', 'Q']:
- break
- if a.endswith('整'):
- a = a[:len(a) - 1]
- if a.find('万') == -1:
- res = func(len(a), a)
- else:
- b = a[:a.find('万')] + '元'
- res1 = func(len(b), b) * 10000
- c = a[a.find('万') + 1:]
- res2 = func(len(c), c)
- res = res1 + res2
- print(res)
- if __name__ == '__main__':
- main()
复制代码 |
|