在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
作者:一名卑微的IT民工
出处:https://www.cnblogs.com/5201351
本博客所有文章仅用于学习、研究和交流目的,欢迎非商业性质转载。
由于博主的水平不高,文章没有高度、深度和广度,只是凑字数,不足和错误之处在所难免,希望大家能够批评指出。
博主是利用读书、参考、引用、复制和粘贴等多种方式打造成自己的文章,请原谅博主成为一个卑微的IT民工!