vb學習基礎之val函數與val(&HFFFF) 的理解


在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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM