ASP 数字转人民币大写金额
成功志
ASP 数字转人民币大写金额
2012-4-19 ok12

function RMBMoney(thenumber)

  dim i,String1,String2,length,checkp'定义变量

  dim one(),onestr()'定义数组


  String1 = "零壹贰叁肆伍陆柒捌玖"

  String2 = "万仟佰拾亿仟佰拾万仟佰拾元角分厘毫"


   checkp=instr(thenumber,".")'判断是否含有小数位

   if checkp<>0 then

   thenumber=replace(thenumber,".","")'去除小数位

   end if


   length=len(thenumber) '取得数据长度

   redim one(length-1)'重新定义数组大小

   redim onestr(length-1)'重新定义数组大小


  for i=0 to length-1


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

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


              if checkp=0 then 

                                                  '不含有小数的数据其数字对应的单位

                   onestr(i)=mid(string2,14-length+i,1)

                else

                                               '含有小数的数据其数字对应的单位

                onestr(i)=mid(string2,15-length+i+len(thenumber)-checkp,1)

                end if

 

   one(i)=one(i)&onestr(i)'将数字与单位组合

  next


    RMBMoney=replace(join(one)," ","") '取得数组中所有的元素,并连接起来

    RMBMoney=replace(RMBMoney,"零元","元")

    RMBMoney=replace(RMBMoney,"零万","万")

    RMBMoney=replace(RMBMoney,"零亿","亿")

    RMBMoney=replace(RMBMoney,"零仟","零")

    RMBMoney=replace(RMBMoney,"零佰","零")

    RMBMoney=replace(RMBMoney,"零拾","零")


   do while not instr(RMBMoney,"零零")=0

   RMBMoney=replace(RMBMoney,"零零","零")

   loop

  

   RMBMoney=replace(RMBMoney,"零元零角零分","元整")'==这两行不能调换

   RMBMoney=replace(RMBMoney,"零角零分","整")

   if right(RMBMoney,1)="元" then

     RMBMoney = RMBMoney & "整"

   end if

 end  function


用法:


response.write RMBMoney(8888.88)

发表评论:
昵称

邮件地址 (选填)

个人主页 (选填)

内容