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

截取字符串输出的问题求指教

dhdhzzw 发布于 2008-05-27 11:45, 774 次点击
<%
  
  Dim StrNum,StrNew
StrNum="1234567890123456789435"       这里不加双引号的话字符串就只能写10位为什么?
for i=1 to len(StrNum)
StrNew = StrNew & Mid(StrNum,i,1)&"<br />" 为什么去掉蓝色部分输出结果会不一样呢?我不太懂很简单各位可以复制下来试试,我的盲点,特来请教
next
Response.write (StrNew)
%>
8 回复
#2
flynet2008-05-27 12:47
Response.write (StrNew)  这个写在 next上面
#3
flynet2008-05-27 12:48
StrNew = StrNew & Mid(StrNum,i,1)&"<br />"  
该是StrNew = "<b>"&StrNew &"</b>"& Mid(StrNum,i,1)&"<br />"
#4
dhdhzzw2008-05-27 13:53
StrNew = StrNew & Mid(StrNum,i,1)&"<br />"我想问的是为什么一定要加上StrNew &而不是直接
StrNew =mid(strnum,i,1)
#5
flynet2008-05-27 16:18
准确代码是
Dim StrNum,StrNew
StrNum="1234567890123456789435"  
for i=1 to len(StrNum)
StrNew =StrNew&"<b>"& Mid(StrNum,i,1)&"</b><br />"
next
Response.write (StrNew)
也可写成
Dim StrNum,StrNew
StrNum="1234567890123456789435"  
for i=1 to len(StrNum)
StrNew ="<b>"& Mid(StrNum,i,1)&"</b><br />"
Response.write (StrNew)
next
效果是 一样的
#6
multiple19022008-05-27 17:03
[bo][un]flynet[/un] 在 2008-5-27 12:48 的发言:[/bo]

StrNew = StrNew & Mid(StrNum,i,1)&""  
该是StrNew = ""&StrNew &""& Mid(StrNum,i,1)&""

不,那个中括号b中括号是论坛上的加粗解析错误的结果
#7
tianyu1232008-05-27 18:58
<%
Dim StrNum,StrNew
StrNum="1234567890123456789435"       这里不加双引号的话字符串就只能写10位为什么?
for i=1 to len(StrNum)
StrNew = StrNew &[Mid(StrNum,i,1)&"<br />" 为什么去掉蓝色部分输出结果会不一样呢?我不太懂很简单各位可以复制下来试试,我的盲点,特来请教
next
Response.write (StrNew)
%>

问题: 这里不加双引号的话字符串就只能写10位为什么?

回答:因为不加双引号数据类型就是整数类型(不是字符串),而整数类型的最大取值范围为: Long  包含 -2,147,483,648 到 2,147,483,647 之间的整数。  

问题:为什么去掉蓝色部分输出结果会不一样呢?

回答:不取掉是一个累加字符过程,而取掉就变成取字符串最后一个字符了。
#8
yms1232008-05-27 19:23
7楼解释得很正确,StrNum="1234567890123456789435"   不加双引号的话这里就不是字符串
而是数字值,但是这个数字值过大。也就是说程序里存储不了这么大的位数所以会出现错误。
&这个符号在VBScript里表示字符串连接符号,将两个字符串连接为一个字符串所使用的符号。
StrNew = StrNew &Mid(StrNum,i,1)&"<br />"
#9
dhdhzzw2008-05-28 09:20
谢谢所有人,,尤其是7,8楼   知道了。又学习了
1