将数字字符串转换为人民币大写,壹、贰、叁、肆、伍、陆、柒、捌、玖、拾
'''
将数字字符串转成大写字符串
'''
a="零、壹、贰、叁、肆、伍、陆、柒、捌、玖、拾"
b="拾、佰、仟"
c="万、亿"
han_list= a.split("、")
unit_list= b.split("、")
unit_list2= c.split("、")
'''
将4位数字字符串转变成汉字字符串
'''
def four_to_han(testNum):
result =""
testLen = len(testNum)
for i in range(testLen):
num = int(testNum[i])
if num!= 0 and i!=testLen-1: #既不是0也不是最后一位数,就拼上位数
result+=han_list[num]+unit_list[testLen-2-i]
else: #如果是0或者是最后一位
if int(testNum[i-1])==0 or (i==testLen-1 and int(testNum[i])==0 ) :#如果上一位数是0或者是最后一位数是0就跳过
continue
result+=han_list[num]
return result
'''
将数字字符出串拆分4个一组
'''
import math
def toGroup(numStr):
groupCount = math.ceil(len(numStr)/4)
res=""
i=groupCount-1
while i >= 0:
a=-i*4
b=-(i+1)*4
if a==0:
res+=four_to_han(numStr[b:])
else:
res+=four_to_han(numStr[b:a])+unit_list2[len(unit_list2)-1-i]
i-=1
return res
print("例如输入:12341004567")
print("输出:壹佰贰拾叁亿肆仟壹佰零零万肆仟伍佰陆拾柒")
a=input("请输入整数数字:")
print(toGroup(a))