对len函数不太明白,请高人指点下:
发布网友
发布时间:2022-05-05 16:04
我来回答
共5个回答
热心网友
时间:2022-06-27 17:54
去看MSDN帮助吧:
len 函数,返回 Long,其中包含字符串内字符的数目,或是存储一变量所需的字节数
语法
Len(string | varname)
Len 函数的语法有下面这些部分:
string 任何有效的字符串表达式。如果 string 包含 Null,会返回 Null。
Varname 任何有效的变量名称。如果 varname 包含 Null,会返回 Null。如果 varname 是 Variant,Len 会视其为 String 并且总是返回其包含的字符数。
看清楚了?如果是字符串,则返回字符数(一个汉字是一个字符),如果是Variant则当作字符串(如果变体变量=0.5,则转换为字符串为 .5,长度为2),如果是其它变量则返回变量占用的字节空间:Integer=2,Long=4,Double=8
热心网友
时间:2022-06-27 17:55
len()取变量长度的函数
题中当a为变体的时候,程序会将a自动定义为实型,这样的话,LEN取到的长度算是小数点,就是3
但当定义为Integer的时候,变量a为整型,无论给a后面有多少小数点,都会舍掉,四舍五入,保留整数位2,但由于Integer会自动保留一个正负号位置,也就是说,这个2前面有个隐藏的+,在这里省略掉用空格代替了,所以取到的长度是2
有点明白了吗?
DOUBLE双精度,系统自动留8个字节给变量,所以无论变量赋什么值,其结果都是8
这里还有一个问题,其实电脑表示0.5不是正常的0.5,而是.5,也就是说,前面没有0,只是在显示给我们看的时候为了让我们看的方便才加上0,所以,len(1.5)=3,而len(0.5)=2明白了吗?
热心网友
时间:2022-06-27 17:55
变体,应该是加上了小数点。
整数,当然是 2,本身就等于 2 嘛,去掉小数位了,再加上符号位(正数前面没有显示,隐藏了)。
0.5 和 1.5 的长度是一样的啊……
热心网友
时间:2022-06-27 17:56
变量类型不一样,当然长度不同了。
想一样?用cstr()先转换成字符型的再比较。
len(cstr(0.5))=len(cstr(1.5))
热心网友
时间:2022-06-27 17:56
len 是长度吧 输入的长度