| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1032 人关注过本帖
标题:求解len()语句应用
只看楼主 加入收藏
yscajf
Rank: 2
等 级:论坛游民
帖 子:36
专家分:21
注 册:2012-3-20
结帖率:87.5%
收藏
已结贴  问题点数:20 回复次数:5 
求解len()语句应用
如A=1234567890 ,那么A的长度就为10,,可是用b=Len(a)算出来只有b的值是8  为什么会出现这种现象,

再问用什么函数或语句才能正确算出A的长度为10呢
2012-05-25 13:41
bczgvip
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:66
帖 子:1310
专家分:5312
注 册:2009-2-26
收藏
得分:10 
A="1234567890"
2012-05-25 18:36
不说也罢
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:39
帖 子:1481
专家分:4989
注 册:2007-10-7
收藏
得分:10 
就楼主所说的问题来看,可能是你定义的数据类型不明确。看下面的例子:
Private Sub Command1_Click()
'这里的变量未经声明
    a = 1234567890
    MsgBox Len(a)'返回长度为10
    b = a
    MsgBox Len(b)'返回长度同样为10
End Sub

下一个例子:
Private Sub Command1_Click()
    Dim b As Double'定义b的类型为双精度型
    a = 1234567890
    MsgBox Len(a)'返回长度是10
    b = a
    MsgBox Len(b)'返回长度 就是8
End Sub

再下一个例子:
Private Sub Command1_Click()
    Dim b As Long '定义b的类型为长整型
    a = 1234567890
    MsgBox Len(a)'返回长度是10
    b = a
    MsgBox Len(b)'返回长度 这里就是4了
End Sub

再下一个例子:
Private Sub Command1_Click()
    Dim b As Integer'定义b的类型为单精度型
    a = 1234567890  '这就会出错了
    MsgBox Len(a)'返回长度是10
    b = a
    MsgBox Len(b)'返回长度 这里就是4了
End Sub

再来一个例子
Private Sub Command1_Click()
    Dim a As Double
    a = 1234567890
    MsgBox Len(Str(a))'用str函数转换一下,返回长度是11
    Dim b As String
    b = a
    MsgBox Len(b)'这里返回10
End Sub

其实,LEN是用来计算字符串的长度的。
所以,用VB要养成习惯,变量必须经过声明——在模块开始的代码中加入 Option Explicit


===================================================
讨厌C#的行尾的小尾巴;和一对大括号{ }
===================================================
2012-05-25 19:12
qq372505855
Rank: 2
等 级:论坛游民
帖 子:42
专家分:46
注 册:2012-6-20
收藏
得分:0 
以下是引用不说也罢在2012-5-25 19:12:51的发言:

就楼主所说的问题来看,可能是你定义的数据类型不明确。看下面的例子:
Private Sub Command1_Click()
'这里的变量未经声明
    a = 1234567890
    MsgBox Len(a)'返回长度为10
    b = a
    MsgBox Len(b)'返回长度同样为10
End Sub

下一个例子:
Private Sub Command1_Click()
    Dim b As Double'定义b的类型为双精度型
    a = 1234567890
    MsgBox Len(a)'返回长度是10
    b = a
    MsgBox Len(b)'返回长度 就是8
End Sub

再下一个例子:
Private Sub Command1_Click()
    Dim b As Long '定义b的类型为长整型
    a = 1234567890
    MsgBox Len(a)'返回长度是10
    b = a
    MsgBox Len(b)'返回长度 这里就是4了
End Sub

再下一个例子:
Private Sub Command1_Click()
    Dim b As Integer'定义b的类型为单精度型
    a = 1234567890  '这就会出错了
    MsgBox Len(a)'返回长度是10
    b = a
    MsgBox Len(b)'返回长度 这里就是4了
End Sub

再来一个例子
Private Sub Command1_Click()
    Dim a As Double
    a = 1234567890
    MsgBox Len(Str(a))'用str函数转换一下,返回长度是11
    Dim b As String
    b = a
    MsgBox Len(b)'这里返回10
End Sub

其实,LEN是用来计算字符串的长度的。
所以,用VB要养成习惯,变量必须经过声明——在模块开始的代码中加入 Option Explicit

顶起,特别是这一句:
LEN是用来计算字符串的长度的
是字符串,楼主你好像少了""
2012-06-20 11:52
yscajf
Rank: 2
等 级:论坛游民
帖 子:36
专家分:21
注 册:2012-3-20
收藏
得分:0 
回复 3楼 不说也罢
谢谢了,,理解了,哈哈
2012-10-11 09:15
沉默的痞子
Rank: 4
等 级:贵宾
威 望:12
帖 子:96
专家分:127
注 册:2015-10-7
收藏
得分:0 
回复 3楼 不说也罢
Private Sub Command1_Click()
    Dim b As Integer'定义b的类型为单精度型
    a = 1234567890  '这就会出错了
    MsgBox Len(a)'返回长度是10
    b = a
    MsgBox Len(b)'返回长度 这里就是4了
End Sub
————————————————————————
这里为什么返回4?

这个例子中,如果a=100
len(b)就返回2, 为什么呢
2015-10-08 10:39
快速回复:求解len()语句应用
数据加载中...
 
   



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

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