今天碰到了一个题这个题想了很久没想出来,其实想通了也挺简单的,可惜当时没做出来
直接上题
描述:阿拉伯数值金额转中文,最大十位数
输入:“123.64”
输出: 二百一十三点六四
首先先定义一个空字符串
res = ""
其次将这个数值进行转换成str的类型
str_num = str(num)
然后对这个字符串进行分割
_ = len(str_num.split(".")[0])-1
接下来就是循环了
for i in str_num:
if i == "."
res += "点"
res += dataSecond[int(i) -1]
if _ > 0:
res += dataThred[ _ -1]
这个题目的关键点在于你自己定义的数组的下标不能是乱的
dataSecond = ['一','二','三','四','五','六','七','八','九',"十"]
dataThred = ['拾','佰','千',"万","十万",'百万','千万','亿','十亿']