a = int(input("请输入一个数字: "))
if a == 0:
result = '零圆'
else:
sub_name = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
digits = ['圆', '拾', '佰', '仟', '万', '拾', '佰', '仟']
str_a = str(abs(a))
# 初步转大写
f_result = list(map(lambda x: sub_name[x], [int(x) for x in str_a]))[::-1]
# print(f_result)
# 完全转化
s_result = ''.join(list(map(lambda x: f_result[x] + digits[x], [int(x) for x in range(len(str_a))]))[::-1])
s_result = s_result.replace('零仟', '零')
s_result = s_result.replace('零佰', '零')
s_result = s_result.replace('零拾', '零')
s_result = s_result.replace('零零零', '零')
s_result = s_result.replace('零零', '零')
s_result = s_result.replace('零万', '万')
s_result = s_result.replace('零圆', '圆')
# 正负
result = (s_result if a >= 0 else "负" + s_result)
print(result)
数字转换成大写人民币
最新推荐文章于 2024-08-30 15:12:59 发布
该博客介绍了一种Python实现的算法,用于将输入的数字转换为中文大写,并处理正负号,适用于金额表示。通过字符串处理和列表映射实现了从阿拉伯数字到中文数字和单位的转换,如零壹贰到圆拾佰仟万。
3万+

被折叠的 条评论
为什么被折叠?



