python2.x实现人民币转大写人民币
本文实例为大家分享了python实现人民币转大写人民币的具体代码,供大家参考,具体内容如下
直接上代码:
#-*-coding:utf-8-*- defchangenum(change_number): format_num=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"] format_name=["分","角","元", "拾","百","千","万", "拾","百","千","亿", "拾","百","千","万", "拾","百","千","兆"] iftype(change_number)==str: if'.'inchange_number: try:change_number=float(change_number) except:raiseValueError,'%scan\'tchange'%change_number else: try:change_number=int(change_number) except:raiseValueError,'%scan\'tchange'%change_number iftype(change_number)==float: real_numbers=[] foriinrange(len(format_name)-3,-3,-1): ifchange_number>=10**iori<1: real_numbers.append(int(round(change_number/(10**i),2)%10)) elifisinstance(change_number,(int,long)): real_numbers=[int(i)foriinstr(change_number)+'00'] else: raiseValueError,'%scan\'tchange'%change_number zflag=0 start=len(real_numbers)-3 change_words=[] foriinrange(start,-3,-1): if0<>real_numbers[start-i]orlen(change_words)==0: ifzflag: change_words.append(format_num[0]) zflag=0 change_words.append(format_num[real_numbers[start-i]]) change_words.append(format_name[i+2]) elif0==ior(0==i%4andzflag<3): change_words.append(format_name[i+2]) zflag=0 else: zflag+=1 ifchange_words[-1]notin(format_name[0],format_name[1]): change_words.append("整") return''.join(change_words) #测试 #printchangenum(865324.98) #查看输出的结果是否正确
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。