标题:截取字符串输出的问题求指教
只看楼主
dhdhzzw
Rank: 1
等 级:新手上路
帖 子:949
专家分:0
注 册:2007-8-13
结帖率:81.82%
 问题点数:0 回复次数:8 
截取字符串输出的问题求指教
<%
  
  Dim StrNum,StrNew
StrNum="1234567890123456789435"       这里不加双引号的话字符串就只能写10位为什么?
for i=1 to len(StrNum)
StrNew = StrNew & Mid(StrNum,i,1)&"<br />" 为什么去掉蓝色部分输出结果会不一样呢?我不太懂很简单各位可以复制下来试试,我的盲点,特来请教
next
Response.write (StrNew)
%>
搜索更多相关主题的帖子: 字符 输出 指教 
2008-05-27 11:45
flynet
Rank: 3Rank: 3
来 自:北京
等 级:论坛游民
威 望:7
帖 子:352
专家分:60
注 册:2007-1-28
得分:0 
Response.write (StrNew)  这个写在 next上面

PHP 新人 不断学习进取中。。。
2008-05-27 12:47
flynet
Rank: 3Rank: 3
来 自:北京
等 级:论坛游民
威 望:7
帖 子:352
专家分:60
注 册:2007-1-28
得分:0 
StrNew = StrNew & Mid(StrNum,i,1)&"<br />"  
该是StrNew = "<b>"&StrNew &"</b>"& Mid(StrNum,i,1)&"<br />"

PHP 新人 不断学习进取中。。。
2008-05-27 12:48
dhdhzzw
Rank: 1
等 级:新手上路
帖 子:949
专家分:0
注 册:2007-8-13
得分:0 
StrNew = StrNew & Mid(StrNum,i,1)&"<br />"我想问的是为什么一定要加上StrNew &而不是直接
StrNew =mid(strnum,i,1)
2008-05-27 13:53
flynet
Rank: 3Rank: 3
来 自:北京
等 级:论坛游民
威 望:7
帖 子:352
专家分:60
注 册:2007-1-28
得分:0 
准确代码是
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
效果是 一样的

PHP 新人 不断学习进取中。。。
2008-05-27 16:18
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
得分:0 
[bo][un]flynet[/un] 在 2008-5-27 12:48 的发言:[/bo]

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

不,那个中括号b中括号是论坛上的加粗解析错误的结果
2008-05-27 17:03
tianyu123
Rank: 1
等 级:新手上路
威 望:2
帖 子:576
专家分:0
注 册:2007-8-26
得分:0 
<%
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 之间的整数。  

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

回答:不取掉是一个累加字符过程,而取掉就变成取字符串最后一个字符了。

改变一切,须从改变观念开始!
2008-05-27 18:58
yms123
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
得分:0 
7楼解释得很正确,StrNum="1234567890123456789435"   不加双引号的话这里就不是字符串
而是数字值,但是这个数字值过大。也就是说程序里存储不了这么大的位数所以会出现错误。
&这个符号在VBScript里表示字符串连接符号,将两个字符串连接为一个字符串所使用的符号。
StrNew = StrNew &Mid(StrNum,i,1)&"<br />"
2008-05-27 19:23
dhdhzzw
Rank: 1
等 级:新手上路
帖 子:949
专家分:0
注 册:2007-8-13
得分:0 
谢谢所有人,,尤其是7,8楼   知道了。又学习了
2008-05-28 09:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-216120-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.165653 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved