ASP将数字转中文数字(大写金额)的函数

时间:2022-06-01 13:02:17

下面跟大家分享2种不同函数的实现方式。

ASP将数字转中文数字金额的函数一

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<%
function Money(thenumber)
'dim Money,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
  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
Response.write Money(8200001)
%>

ASP阿拉伯数字转中文数字

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<%
'################################
'函数名:阿拉伯数字转中文数字函数
'################################
function chnumstr(num)
num=int(abs(num))
strlen=len(num)
for i=1 to strlen
select case mid(num,i,1)
case 1:chnum="一":case 2:chnum="二":case 3:chnum="三"
case 4:chnum="四":case 5:chnum="五"
case 6:chnum="六":case 7:chnum="七":case 8:chnum="八"
case 9:chnum="九":case 0:chnum="零"
end select
chnumstr=chnumstr&chnum
if i=strlen-1 and mid(num,i,1)<>0 then chnumstr=chnumstr&"十"
if i=strlen-2 and mid(num,i,1)<>0 then chnumstr=chnumstr&"百"
if i=strlen-3 and mid(num,i,1)<>0 then chnumstr=chnumstr&"千"
if i=strlen-4 and mid(num,i,1)<>0 then chnumstr=chnumstr&"万"
if i=strlen-5 and mid(num,i,1)<>0 then chnumstr=chnumstr&"十"
if i=strlen-6 and mid(num,i,1)<>0 then chnumstr=chnumstr&"百"
if i=strlen-7 and mid(num,i,1)<>0 then chnumstr=chnumstr&"千"
if i=strlen-8 and mid(num,i,1)<>0 then chnumstr=chnumstr&"万"
next
if left(chnumstr,1)="一" then chnumstr=right(chnumstr,len(chnumstr)-1)
if right(chnumstr,1)="零" then chnumstr=left(chnumstr,len(chnumstr)-1)
end function
Response.write chnumstr("84221213")
%>

到此这篇关于ASP将数字转中文数字(大写金额)的函数的文章就介绍到这了,更多相关ASP 数字转中文数字内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!