借助如下两个列表,将输入的人民币数值转换成大写python
时间: 2023-05-26 08:02:54 浏览: 155
num_dict = {'0':'零', '1':'壹', '2':'贰', '3':'叁', '4':'肆', '5':'伍', '6':'陆', '7':'柒', '8':'捌', '9':'玖'}
unit_dict = {0:'', 1:'拾', 2:'佰', 3:'仟', 4:'万', 8:'亿'}
def convert(num):
num_str = str(num)
num_len = len(num_str)
result = ''
# 处理整数部分
for i in range(num_len):
digit = int(num_str[i])
if digit != 0:
result += num_dict[num_str[i]] + unit_dict[num_len-1-i]
else:
if i == num_len-1 or int(num_str[i+1]) != 0:
result += num_dict[num_str[i]]
# 处理小数部分
if '.' in num_str:
decimal_part = num_str.split('.')[1]
result += '点'
for j in range(len(decimal_part)):
result += num_dict[decimal_part[j]]
return result
# 测试
print(convert(1234567890.23)) # 壹拾贰亿叁仟肆佰伍拾陆万柒仟捌佰玖拾点贰叁
阅读全文