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)
#查看输出的结果是否正确
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。