随笔 - 639, 文章 - 19, 评论 - 34, 阅读 - 115万
  博客园  :: 首页  :: 管理

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

Posted on   520_1351  阅读(5604)  评论(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

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
点击右上角即可分享
微信分享提示