注意,这种方法也有缺陷。虽然能转换复杂的且带有小数点的数字,但没有带单位,需要自己添加单位“元”、“角”、“分”等。添加完成后正确的是:壹亿贰仟叁佰肆拾伍万陆仟柒佰捌拾玖元.壹角贰分。
三、使用excel的强大函数功能完美解决问题
前两种方法虽然简单,但是都有缺陷,完美的解决办法是借用excel的函数功能,使用到了if函数(判断)、round函数(四舍五入)、text函数(显示方式更改)、int函数(取整)等函数,比较复杂,编号的代码已经放在文本中了,复制到单元格中即可进行转化。
注意:代码中的“A1”是指将单元格A1的数值进行转换,也可以换成其他的单元格。
=IF(ROUND(A1,2)<0,"无效数值","人民币"&IF(ROUND(A1,2)=0,"零元",IF(ROUND(A1,2)<1,"",TEXT(INT(ROUND(A1,2)),"[dbnum2]")&"元")&IF(INT(ROUND(A1,2)*10)-INT(ROUND(A1,2))*10=0,IF(INT(ROUND(A1,2))*(INT(ROUND(A1,2)*100)-INT(ROUND(A1,2)*10)*10)=0,"","零"),TEXT(INT(ROUND(A1,2)*10)-INT(ROUND(A1,2))*10,"[dbnum2]")&"角")&IF((INT(ROUND(A1,2)*100)-INT(ROUND(A1,2)*10)*10)=0,"整",TEXT((INT(ROUND(A1,2)*100)-INT(ROUND(A1,2)*10)*10),"[dbnum2]")&"分")))
这种方法可以完美的解决转换问题,带有货币单位,在excel里转换好,拷贝到word中即可。