注册 登录
编程论坛 VB6论坛

关于len的问题

沉默的痞子 发布于 2015-10-08 09:27, 1004 次点击
For i = 1 To 200
    j = Len(i)
    MsgBox j
Next

执行第一次的时候,j的值不应该是1吗?怎么都是2
当i=100时    j还是2?  为毛?
11 回复
#2
wmf20142015-10-08 09:31
你在前面加一句dim i as long试试,即:
Dim i As Long
For i = 1 To 200
    j = Len(i)
    MsgBox j
Next
#3
沉默的痞子2015-10-08 09:39
回复 2楼 wmf2014
我定义了的
Dim j As Integer, i As Integer
   按你说的  我定义成long
结果  j 的值变成了 4
想说len不是计算字符长度的么……
#4
风吹过b2015-10-08 11:36
Len 函数

返回 Long,其中包含字符串内字符的数目,或是存储一变量所需的字节数。

-----------------
Type CustomerRecord   ' 定义用户自定义的数据类型。
   ID As Integer   ' 将此定义放在常规模块中。
   Name As String * 10
   Address As String * 30
End Type

Dim Customer As CustomerRecord   ' 声明变量。
Dim MyInt As Integer, MyCur As Currency
Dim MyString, MyLen
MyString = "Hello World"   ' 设置变量初值。
MyLen = Len(MyInt)   ' 返回 2。
MyLen = Len(Customer)   ' 返回 42。
MyLen = Len(MyString)   ' 返回 11。
MyLen = Len(MyCur)   ' 返回 8。
#5
yangfrancis2015-10-08 21:15
len()是读字符串的长度吧?用len(str(i))再试
#6
沉默的痞子2015-10-09 08:14
回复 5楼 yangfrancis
我好像有点弄明白了,len(n)如果n是string,则是字符长度,如果是其它的则返回字节数,是这样吗
#7
yangfrancis2015-10-09 17:24
回复 6楼 沉默的痞子
我只知道是字符串的话返回长度,如果是其他类型没试过,不过从你的运行结果来看应该是字节数。
#8
renxiaoyao362015-10-10 18:22
首先你要知道变量类型
INteger整形,2 Bit 存储内存
LOng长整形,4 Bit 存储内存
String 字符
你用LEN去LEN数字,当然INTEGER就是2,LONG就是4啦

[ 本帖最后由 renxiaoyao36 于 2015-10-12 19:55 编辑 ]
#9
坏坏小生2015-10-30 15:34
转换成字符串再算长度就没有问题了!~
#10
天下苍生2015-10-30 18:38
回复 8楼 renxiaoyao36
学习了-------
#11
tyc1892015-10-31 19:03
Private Sub Command1_Click()
Dim i As Integer, j As Long
j = 123456789
i = Len(CStr(j))
MsgBox i
End Sub
#12
tyc1892015-10-31 19:13
Str 函数的作用是将一个数值表达式转换为一个字符串,且表达式的类型不变。其语法格式为:
Str(number)

1