将人民币的数字转化成大写表示

80酷酷网    80kuku.com

  大写|人民币<%
 callMoney(22222222222)
 functionMoney(thenumber)
 dimMoney,i,String1,String2,length,checkp'定义变量
 dimone(),onestr()'定义数组

 String1="零壹贰叁肆伍陆柒捌玖"
 String2="万仟佰拾亿仟佰拾万仟佰拾元角分厘毫"

  checkp=instr(thenumber,".")'判断是否含有小数位
  ifcheckp<>0then
  thenumber=replace(thenumber,".","")'去除小数位
  endif

  length=len(thenumber)'取得数据长度
  redimone(length-1)'重新定义数组大小
  redimonestr(length-1)'重新定义数组大小

 fori=0tolength-1

    one(i)=mid(thenumber,i+1,1)'循环取得每一位的数字
    one(i)=mid(string1,one(i)+1,1)'循环取得数字对应的大写

             ifcheckp=0then 
                                                 '不含有小数的数据其数字对应的单位
                  onestr(i)=mid(string2,14-length+i,1)
               else
                                              '含有小数的数据其数字对应的单位
               onestr(i)=mid(string2,15-length+i+len(thenumber)-checkp,1)
               endif
 
  one(i)=one(i)&onestr(i)'将数字与单位组合
 next

   Money=replace(join(one),"","")'取得数组中所有的元素,并连接起来
   Money=replace(Money,"零元","元")
   Money=replace(Money,"零万","万")
   Money=replace(Money,"零亿","亿")
   Money=replace(Money,"零仟","零")
   Money=replace(Money,"零佰","零")
   Money=replace(Money,"零拾","零")

  dowhilenotinstr(Money,"零零")=0
  Money=replace(Money,"零零","零")
  loop

 response.writeMoney '显示结果
 end function
 %>

分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: