注册 登录
编程论坛 ASP技术论坛

怎么把一行数字写成数组的形式

guang2356447 发布于 2010-07-28 17:41, 1749 次点击
我有一行数组   比如   445566778899

怎么写成44,55,66,77,88,99
10 回复
#2
gupiao1752010-07-28 21:49
你写成这样也叫做数组? 445566778899
数组的话要组合成字符串的话,可以用join(",")方法!百度上有具体用法
如果是字符串分割就必须用到正则了。
#3
魏兴耀2010-07-29 07:21
以下是引用gupiao175在2010-7-28 21:49:02的发言:

你写成这样也叫做数组? 445566778899
数组的话要组合成字符串的话,可以用join(",")方法!百度上有具体用法
如果是字符串分割就必须用到正则了。
版主,正则要怎么写呢?还真不知道,我也过来学学
#4
hams2010-07-29 08:55
正则是外星文字,不是三两句能说清楚的,上网搜一下吧。
#5
guang23564472010-07-29 11:21
set rs=server.CreateObject("adodb.recordset")
sql="select * from cd_codedtl where headid='48' order by code asc"
rs.open sql,conn,1,1
arr=""
do while not rs.eof
'arr=rs("code")

If Arr="" Then
  Arr=Rs("code")
Else
  Arr=Arr&","&Rs("code")
End If
rs.movenext
loop


这就吧数据库中的内容读取出来   赋给ARR数组啦
#6
冰镇柠檬汁儿2010-07-29 15:07
最直观的办法,循环数组,逐个添加到一个字符串中
#7
gupiao1752010-07-29 17:13
如果这个445566778899是数组,要组合倒是很容易,比如
dim arr()
dim arr2()
arr(0)=44
arr(1)=55
...
arr(5)=99
dim str=join(arr,",") '它就是44,55,66,77,88,99,但它是字符串!
arr2=split(arr,",")'此时的arr2就是数组了!
如果是字符串445566778899,就非常麻烦了,必须用正则了。
具体如何用自己上网查了。那就不是一两句话能说清楚的了。
思路是借用其规律重复数字2次,\d{2},用这个为匹配规则,然后去替换组合成一个新的字符串或数组!
#8
hams2010-07-29 17:38
很郁闷地怀疑自己是不是要重新学习一下什么是数组……
#9
funky2010-08-10 13:16
楼上,他们是高手嘛,难免.别往心里去..呵呵.   有求到解就可以了.   有很多办法可以实现.

注意了,你要把它每两位就有一个逗号,你想想,如果是三位,formatnumber就可以办到.那是为什么.函数既然可以实现,我们不如自己写个函数,能自动转换.我帮你写了下面,已经测试,是可以的,

<%
'###########funky生活QQ:284301
'###########既然formatnumer没能让你的数变成每两个加一个逗号,我们就自己先写一个函数
function setFigure(str1,jiwei)
    dim i
    str1=cstr(str1)
    if instr(str1,".") > 0 then setFigure=mid(str1,instr(str1,"."))
    str1=replace(str1,setFigure,"")
    str1=strreverse(str1)
    for i=1 to len(str1)
        setFigure=mid(str1,i,1) & setFigure
        if (i mod jiwei = 0) and (i <>len(str1)) then setFigure="," & setFigure
    next
end function
'##################
'################## 函数写完了,现在不管你是什么数字,只要你需要几位加一个豆号你就按以下格式写.
%>



<%
'设置你的号码
number=445566778899
%>


<%=setFigure(number,2)%>

那么你以后要是想显示任何呢,都可以.比如说
<%=setFigure("112223242526272829",2)%>
就会显示为
11,22,23,24,25,26,27,28,29
如果要三位就
<%=setFigure("112223242526272829",3)%>
112,223,242,526,272,829

能这么提问题,肯定是自学的,是不是数组没人要考试,所以,你不必要重新的学习,asp不难,要做网站,要多在用户体验这块下功夫,像css啦 java 啦.

祝你好运.



#10
funky2010-08-10 13:23
比如   445566778899

怎么写成44,55,66,77,88,99   
'=====================================还没答完,   以上的代码呢,只是让你的数字变成两位用逗号格开
如果是按你的问题,你有一个数组 比如ss

那你可以先用逗号分解它们比如

ss=setFigure(number,2)
ss=split(ss,",")  '这个意思是说用逗号呢,把ss分解
ss=Array(ss(0),ss(1),ss(2),ss(3),ss(4))

懂了吗.   祝你好运.

#11
hams2010-08-10 15:56
感谢楼上这么热心,但我想未必是楼主要的答案。需求表达不准确,是不会得到正确答案的,特别是想成为一名合格的程序员,表述一定要严谨。
1