使用python 输入人民币大写金额转换为数字金额
使用python 输入人民币大写金额转换为数字金额,金额最大到亿,超过十亿元请找自己的财务把~~闲言少叙,上才艺!!
def func(length, cn):
ans = 0.0
for i in range(0, length):
if cn in CN_NUM and cn in CN_UNIT:
val, unit = CN_NUM], CN_UNIT]
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
res2 = func(len(c), c)
res = res1 + res2
print(res)
if __name__ == '__main__':
main()
页:
[1]