小写数字转人民币大写。简单的小程序,也比较实用。留住备用。
numtext = input('请输入金额:')
# 转换成2位小数
numtext = '{:.2f}'.format(eval(numtext))
numdx = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
danwei = ['分', '角', '元', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿']
temptext = ''
tempid = 0
for i in numtext[::-1]:
if i != '.':
temptext = numdx[int(i)] + danwei[tempid] + temptext
tempid += 1
print(temptext)
请输入金额:4536
肆仟伍佰叁拾陆元零角零分
更改一下,更接近阅读形式。
numtext = input('请输入金额:')
# 转换成2位小数
numtext = '{:.2f}'.format(eval(numtext))
numdx = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
danwei = ['分', '角', '元', '拾', '佰', '仟', '万', '拾', '佰', '仟', '亿']
temptext = '零'
tempid = 0
for i in numtext[::-1]:
if i != '.':
if int(i) == 0:
if danwei[tempid] in ['元','万']:
temptext = danwei[tempid] + temptext
elif temptext[0] not in ['零','元','万']:
temptext = '零' + temptext
else:
temptext = numdx[int(i)] + danwei[tempid] + temptext
tempid += 1
temptext = temptext[:-1]
if '亿万' in temptext:
temptext = temptext.replace('亿万','亿')
print(temptext)