ASP 数字转人民币大写金额

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)

本博客所有文章如无特别注明均为原创。作者:sysdee复制或转载请以超链接形式注明转自 成功志
原文地址《ASP 数字转人民币大写金额
分享到:更多

相关推荐

发表评论

路人甲 表情
看不清楚?点图切换 Ctrl+Enter快速提交

网友评论(0)