python把数字转换成中文大写的简单函数实例:
def conversionString(intnumber): ''' 把数字转换成中文大写,例如:1->一 ,25->二十五,49->四十九 Parameters ---------- intnumber : TYPE DESCRIPTION. Returns ------- TYPE DESCRIPTION. ''' numberList = ['零','一','二','三','四','五','六','七','八','九'] unitList = ["","十","百","千","万",'十万','百万','千万','亿','十亿','百亿','千亿','万亿','兆'] # 转为字符串 获取传入字符串长度 strnumber = str(intnumber) lennumber = len(strnumber) # 如果长度等于1 则直接返回对应的各位数字 if lennumber == 1: return numberList[intnumber] # 如果不为一 也就不是个位数 则需要获取相关单位 string = '' for i in range(lennumber): # print('第{}次,string值为:{}'.format(i,string)) if int(strnumber[i]) != 0: # 判断万出现的次数 如果多次删除现有的 万 字 防止出现 五十万二万 重复 for unit in ['万','亿']: if string.count(unit) > 1: print(string.count(unit)) string = string.replace(unit, '',1) # 获取当前数字对应的汉字 + 单位 string = string + numberList[int(strnumber[i])]+unitList[lennumber - i - 1] # 如果前一位也是零 那么直接跳出循环重新执行 //防止 elif int(strnumber[i - 1]) == 0: continue else: # 如果都不是 也就是为 那么则直接加一个零 string = string+numberList[int(strnumber[i])] # 返回值 // rstrip 删除结尾的所有零 string = string.rstrip('零') if(intnumber>=10 and intnumber<20): return string[1:] return string num = input('请输入数字') str=conversionString(int(num)) print(str)
python数字转换成中文大写数字实例运行结果: