序号用大写的数字

anbs01 2008-09-12 03:04:12
i=1
do while not rs.eof
response.write(i&"、"&rs("title"))
rs.movenext
i=i+1
loop

这样输出都是小写的数字的序号,我想用大写的数字代替它们,怎么做?
比如:
一、12121
二、1212112
三、1212121212
这样形式的。
...全文
466 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
不耐烦 2008-09-12
  • 打赏
  • 举报
回复
<%
function daxie(str)
if not IsNumeric(str) then
exit function
end if
if len(str)=1 then
daxie=replace(replace(replace(replace(replace(replace(replace(replace(replace(str,1,"一"),2,"二"),3,"三"),4,"四"),5,"五"),6,"六"),7,"七"),8,"八"),9,"九")
end if
if len(str)=2 then
if right(str,1)=0 then
daxie=replace(replace(replace(replace(replace(replace(replace(replace(replace(left(str,1),1,"一"),2,"二"),3,"三"),4,"四"),5,"五"),6,"六"),7,"七"),8,"八"),9,"九")&"十"
else
daxie=replace(replace(replace(replace(replace(replace(replace(replace(replace(left(str,1),1,"一"),2,"二"),3,"三"),4,"四"),5,"五"),6,"六"),7,"七"),8,"八"),9,"九")&"十"&replace(replace(replace(replace(replace(replace(replace(replace(replace(right(str,1),1,"一"),2,"二"),3,"三"),4,"四"),5,"五"),6,"六"),7,"七"),8,"八"),9,"九")
end if
end if
if len(str)=3 then
if mid(str,2,1)=0 and mid(str,3,1)=0 then
daxie=replace(replace(replace(replace(replace(replace(replace(replace(replace(left(str,1),1,"一"),2,"二"),3,"三"),4,"四"),5,"五"),6,"六"),7,"七"),8,"八"),9,"九")&"百"
end if
if mid(str,3,1)=0 then
daxie=replace(replace(replace(replace(replace(replace(replace(replace(replace(left(str,1),1,"一"),2,"二"),3,"三"),4,"四"),5,"五"),6,"六"),7,"七"),8,"八"),9,"九")&"百"&replace(replace(replace(replace(replace(replace(replace(replace(replace(mid(str,2,1),1,"一"),2,"二"),3,"三"),4,"四"),5,"五"),6,"六"),7,"七"),8,"八"),9,"九")&"十"
end if
if mid(str,2,1)=0 then
daxie=replace(replace(replace(replace(replace(replace(replace(replace(replace(left(str,1),1,"一"),2,"二"),3,"三"),4,"四"),5,"五"),6,"六"),7,"七"),8,"八"),9,"九")&"百零"&replace(replace(replace(replace(replace(replace(replace(replace(replace(right(str,1),1,"一"),2,"二"),3,"三"),4,"四"),5,"五"),6,"六"),7,"七"),8,"八"),9,"九")
end if
if instr(str,0)=0 then
daxie=replace(replace(replace(replace(replace(replace(replace(replace(replace(left(str,1),1,"一"),2,"二"),3,"三"),4,"四"),5,"五"),6,"六"),7,"七"),8,"八"),9,"九")&"百"&replace(replace(replace(replace(replace(replace(replace(replace(replace(mid(str,2,1),1,"一"),2,"二"),3,"三"),4,"四"),5,"五"),6,"六"),7,"七"),8,"八"),9,"九")&"十"&replace(replace(replace(replace(replace(replace(replace(replace(replace(right(str,1),1,"一"),2,"二"),3,"三"),4,"四"),5,"五"),6,"六"),7,"七"),8,"八"),9,"九")
end if
if len(str)>3 then
exit function
end if
end if
end function
'只写到3位数
'要是还多自己拓展吧
'测试
response.write daxie(512)
'输出五百一十二

xuStanly 2008-09-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 anbs01 的回复:]
引用 1 楼 zl_c 的回复:
Replace("1","一")

怎么让它循环起来?如果我有1万条,我要去手动“replace”1万个吗?
[/Quote]

这得去找个数字小写转大写的函数啦。
haby007 2008-09-12
  • 打赏
  • 举报
回复
如果数字不太的话可以用:
dim myarr()
redim a(10)
a(0)="一"
a(1)="二"
a(2)="三"
a(3)="四"
a(4)="五"
a(5)="六"
a(6)="七"
a(7)="八"
a(8)="九"

i=0
do while not rs.eof
response.write((a)&"、"&rs("title"))
rs.movenext i=i+1
loop

Dogfish 2008-09-12
  • 打赏
  • 举报
回复
a="十,一,二,三,四,五,六,七,八,九,十"
aa = split(a,",")
i=1
do while not rs.eof
if i<=10 then
response.write(aa(i) & "、" & rs("title"))
else
j = i\10
k = i Mod 10
response.write(aa(j) & aa(k) & "、" & rs("title"))
end if
rs.movenext
i=i+1
loop
zl_c 2008-09-12
  • 打赏
  • 举报
回复
以上只能替换个位的,这个是替换多位数字的:
Function formatNum2(n)
Dim temp : temp = Cstr(n)
temp = Replace(temp,"1","一")
temp = Replace(temp,"2","二")
temp = Replace(temp,"3","三")
temp = Replace(temp,"4","四")
temp = Replace(temp,"5","五")
temp = Replace(temp,"6","六")
temp = Replace(temp,"7","七")
temp = Replace(temp,"8","八")
temp = Replace(temp,"9","九")
temp = Replace(temp,"0","○")
formatNum2 = temp
End Function

Response.Write(formatNum2(102378))
sy_binbin 2008-09-12
  • 打赏
  • 举报
回复
楼主找找金额大小写的例子作下参照吧
zl_c 2008-09-12
  • 打赏
  • 举报
回复
做函数调用就行了:
Function formatNum(n)
Dim cnNumArr
cnNumArr = Split("一,二,三,四,五,六,七,八,九,十",",")
formatNum = cnNumArr(Cint(n))
End Function

Response.Write(formatNum(1))
anbs01 2008-09-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zl_c 的回复:]
Replace("1","一")
[/Quote]
怎么让它循环起来?如果我有1万条,我要去手动“replace”1万个吗?
kkjjww 2008-09-12
  • 打赏
  • 举报
回复
str(1)="一"
str(2)="二"
str(3)="三"
i=1
do while not rs.eof
response.write(str(i)&"、"&rs("title"))
rs.movenext
i=i+1
loop
sy_binbin 2008-09-12
  • 打赏
  • 举报
回复
Function Cha(pnum)
Select Case Cint(pnum)

case 1
Cha = "一"
case 2
Cha = "二"
case 3
Cha = "三"
case 4
Cha = "四"
case 5
Cha = "五"
case 6
Cha = "六"
case 7
Cha = "七"
case 8
Cha = "八"
case 9
Cha = "九"
end select
End Function


zl_c 2008-09-12
  • 打赏
  • 举报
回复
Replace("1","一")

28,392

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧