import sys
import io
#注意设置输入输出编码
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
while True:
try:
dict = {
0: "零",
1: "壹",
2: "贰",
3: "叁",
4: "肆",
5: "伍",
6: "陆",
7: "柒",
8: "捌",
9: "玖",
10: "拾",
100: "佰",
pow(10, 3): "仟",
pow(10, 4): "万",
pow(10, 8): "亿",
}
string = input()
interger_part, float_part = "", ""
if "." not in string:
interger_part = int(string)
float_part = "整"
else:
string = string.split(".")
interger_part = int(string[0])
number_float_part = int(string[1])
if number_float_part == 0:
float_part = "整"
else:
float_part = ""
if number_float_part // 10 != 0:
float_part += dict[number_float_part // 10] + "角"
number_float_part = number_float_part % 10
if number_float_part:
float_part += dict[number_float_part] + "分"
def DFS(number):
result = ""
yi_part = number // pow(10, 8)
number %= pow(10, 8)
wan_part = number // pow(10, 4)
number %= pow(10, 4)
qian_part = number // pow(10, 3)
number %= pow(10, 3)
bai_part = number // pow(10, 2)
number %= pow(10, 2)
for num, cn in [(yi_part, "亿"), (wan_part, "万"), (qian_part, "仟"), (bai_part, "佰")]:
if num == 0:
if len(result) and result[-1] != "零":
result += "零"
else:
result += DFS(num) + cn
if 10 < number < 20:
# 注意这里如果十几前面有数,就要勇壹拾几
# 否则用拾几
if len(result) != 0:
last_two = "壹拾" + dict[number % 10]
else:
last_two = "拾" + dict[number % 10]
elif number == 10:
if len(result) == 0:
last_two = "拾"
else:
last_two = "壹拾"
elif number <= 9:
if len(result) == 0:
last_two = dict[number]
else:
last_two = "零" + dict[number]
else:
last_two = dict[number // 10] + "拾"
number %= 10
if number != 0:
last_two += dict[number]
if last_two[0] == "零" and len(result) and result[-1] == "零":
result = result + last_two[1:]
else:
result += last_two
return result
interger_part = "" if interger_part == 0 else DFS(interger_part) + "元"
print("人民币" + interger_part + float_part)
except:
break
HW.人民币转换
猜你喜欢
转载自blog.csdn.net/dpengwang/article/details/93046894
今日推荐
周排行