问一道VB的填空题
来源:百度知道 编辑:UC知道 时间:2024/05/31 05:57:44
Val("&H"+Left$(x,Len(x)/2))的结果为什么是18?我觉得是12呀
已知字符串变量x存放“1234”
一开始忘写了,谢谢~
已知字符串变量x存放“1234”
一开始忘写了,谢谢~
x="1234"
Val("&H"+Left$(x,Len(x)/2))相当于:
Val("&H"+Left$("1234",Len("1234")/2))
=Val("&H"+Left$("1234",2)) 'Left$("1234",2)是取字符串"1234"的前2个字符的意思,即返回"12"
=Val("&H"+"12")
=Val("&H12") '相当于求十六进制数12的十进制值
=18 'Val("&H12")=1*16+2=16+2=18
我这样分析你应该看得明白了吧?
x的值是多少呢?
uday100866 14:15:33
我认为也是12,在程序上
Private Sub Form_Load()
x = "1234"
y = "&H"
z = Left(x, Len(x) / 2)
m = z + y
Print Val(m)
End Sub
做出来也是
就是18,楼上qingdaofu644说的对,“&H”是表示16进制数字的。。。
在Val("&H"+Left$(1234,Len(1234)/2))中,
Len(1234)为4,
4/2为2.
然后Left$(1234,2)的结果为12,
即Val("&H12")
&H12变成10进制就是18.
哦 原来“&h”是十六进制啊
我说怎么不对呢
呵呵!懂了