将数字字符串转换为人民币大写,壹、贰、叁、肆、伍、陆、柒、捌、玖、拾

将数字字符串转换为人民币大写,壹、贰、叁、肆、伍、陆、柒、捌、玖、拾

'''
将数字字符串转成大写字符串
'''
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))
    

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值