Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 8011|回复: 19

[已解决]Len 函数的返回的问题

  [复制链接]
发表于 2011-12-30 11:05 | 显示全部楼层 |阅读模式
Len 函数
请参阅     示例     特性
返回 Long,其中包含字符串内字符的数目,或是存储一变量所需的字节数。



请问:对于Len 函数,什么时候返回“包含字符串内字符的数目”,什么时候返回“存储一变量所需的字节数”?谢谢!

最佳答案
2011-12-30 14:38
本帖最后由 香川群子 于 2011-12-30 14:41 编辑

最后总结一下:

len函数返回变量的结果,按如下规律:

1. 如果变量为字符串变量,或variant可变变量,
则一律作为字符串处理而返回【变量所含内容】的字符个数,即字符长度。
如果变量为空白(empty)则返回结果=0

2. 如果变量一开始就被明确定义为数值型变量,
则len函数不论变量中所含内容如何,一律返回【变量所占】字符字节数。

分别为:
1,      byte
2 , % Integer
4 , & Long
4 , ! Single
8 , # Double
8 , @ Currency
8 , date

^^^^^^^^^
发表于 2011-12-30 11:15 | 显示全部楼层
回复

使用道具 举报

发表于 2011-12-30 11:18 | 显示全部楼层
试试看吧。
a% = 12345
b& = 12345
c$ = 12345
d = 12345
MsgBox Len(a) & "    " & Len(b) & "    " & Len(c) & "    " & Len(d)
回复

使用道具 举报

发表于 2011-12-30 11:19 | 显示全部楼层
其实 两者说的是一个道理,“包含字符串内字符的数目”----是指字符串数目,如 len(“ABD”) 返回3 ;“存储一变量所需的字节数”--- 如 i = "ABD":Len(i)  返回是3,可以是变量
回复

使用道具 举报

发表于 2011-12-30 11:20 | 显示全部楼层
还有什么single、double等等之类的{:101:}
回复

使用道具 举报

发表于 2011-12-30 11:29 | 显示全部楼层
青城山苦丁茶 发表于 2011-12-30 11:18
试试看吧。
a% = 12345
b& = 12345

谢谢!

看来只有string或variant变量返回字符串长度,其它变量返回占用空间.
select另一帖里的redim因为无法改变数组的type(即使后面使用了as double,但是数组仍然是variant型的)所以返回的是值的长度.
回复

使用道具 举报

发表于 2011-12-30 11:37 | 显示全部楼层
要注意Variant这个调皮蛋,他太调皮了。不管后来你给他什么类型的,只要用你问他有好长,他都在象字符串一样来给你数个数
回复

使用道具 举报

 楼主| 发表于 2011-12-30 11:38 | 显示全部楼层
liuguansky 发表于 2011-12-30 11:15

Sub test()
    Dim str As String
    str = "abcde"
    MsgBox Len(str)
End Sub



A)2楼图中右箭头意思:括号中是varname,则返回“存储一变量所需的字节数”
B)test里也是A的情况,却返回“字符串内字符的数目”

这样看,不就错误么?{:041:}
回复

使用道具 举报

 楼主| 发表于 2011-12-30 11:45 | 显示全部楼层
青城山苦丁茶 发表于 2011-12-30 11:18
试试看吧。
a% = 12345
b& = 12345

谢谢青城山!

从这个例子来看,string或variant变量,返回“字符串内字符的数目”
回复

使用道具 举报

 楼主| 发表于 2011-12-30 11:49 | 显示全部楼层
liuguansky 发表于 2011-12-30 11:15

谢谢 tianti !

自己理解比较差,看了4楼,还是没看懂你的说明。可否说明下。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-23 16:59 , Processed in 0.369194 second(s), 12 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表