网络编程
位置:首页>> 网络编程>> Asp编程>> asp实现将人民币数字改为大写

asp实现将人民币数字改为大写

 来源:asp之家 发布时间:2008-05-21 14:08:00 

标签:人民币,大写,转换,数字

一个将人民币数字转化为大写的asp函数,可以准确读出数字的大写,而不是简单的将数字翻译为大写。有了这个工具大家就可以很方便的写出大写的人民币金额了

例如:10 转换为: 壹拾元 而不是 壹零


<%
function Money(thenumber)
  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
  Money=replace(join(one)," ","") '取得数组中所有的元素,并连接起来
  Money=replace(Money,"零元","元")
  Money=replace(Money,"零万","万")
  Money=replace(Money,"零亿","亿")
  Money=replace(Money,"零仟","零")
  Money=replace(Money,"零佰","零")
  Money=replace(Money,"零拾","零")
  
  do while not instr(Money,"零零")=0
    Money=replace(Money,"零零","零")
  loop
  response.write Money  '显示结果
end  function
Money(45314.123)
%>

运行后则输出:肆万伍仟叁佰壹拾肆元壹角贰分叁厘

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com