博客园  :: 首页  :: 管理

vb学习基础之val函数与val(&HFFFF) 的理解

Posted on 2015-12-16 18:18  520_1351  阅读(5539)  评论(0编辑  收藏  举报

在VB语言中,val函数可以把数值字符串==转为==>数值的函数,在它不能识别为数字的第一个字符上,停止读入字符串。

那些被认为是数值的一部分的符号和字符,例如美元号与逗号,都不能被识别。但是能够识别数字中的小数点

但是函数可以识别进位制符号 &O(八进制)和 &H(十六进制)。空白、制表符和换行符都从参数中被去掉。

Val是类型转换函数:Val(字符串表达式)将数字字符串换成数值,使用方法如下:

==================================================================

Val("QQ5201351")返回0          Val("520.1351 ABC")返回520.1351

Val("520 ab 1351")返回520     Val("aabbccddeeffgg")返回0

Val("&O 10)返回8                     Val("&HFFFF)反回-1

=====================================================

其中笔者一直对Val("&HFFFF)反回-1,一直很不解,后来个人的分析是这样的、vb6默认&HFFFF视为有符号的Integer型,其中

16进制的0000----7fff        对应十进制的    0----32767     (一共32768个数)

16进制的8000----ffff         对应十进制的-32768  ----  -1  (一共32768个数)

而当十六进制的值大于FFFF的时候,也把其视作为有符号的Long长整型,如Val("&H7FFFFFFF")则返回2147483647

 

尊重别人的劳动成果 转载请务必注明出处:http://www.cnblogs.com/5201351/p/5051971.html