在VB中,也許你或多或少會希望得到的資料轉換成數字類型,數字類型既可以是整形,單精度,雙精度,浮點數,隻要是數字類型這個都可以使用,不過此函數隻傳回字元串中包含的數字,若第一個字元為字母或者非數字字元,那此函數範圍0。
VB6.0的幫助解釋如下:
傳回包含于字元串内的數字,字元串中是一個适當類型的數值。
文法
Val(string)
必要的 string 參數可以是任何有效的字元串表達式.
說明
Val 函數,在它不能識别為數字的第一個字元上,停止讀入字元串。那些被認為是數值的一部分的符号和字元,例如美圓号與逗号,都不能被識别。但是函數可以識别進位制符号
&O
(八進制)和 &H
(十六進制)。空白、制表符和換行符都從參數中被去掉。
下面的傳回值為 1615198:
Val(" 1615 198th Street N.E.")
在下面的代碼中,Val 為所示的十六進制數值傳回十進制數值 -1。
Val("&HFFFF")
注意 Val 函數隻會将句點(.)當成一個可用的小數點分隔符。當使用不同的小數點分隔符時,如在國際版應用程式中,代之以 CDbl 來把字元串轉換為數字。
Val 函數示例
本示例使用 Val 函數傳回字元串中所含的數值。
Dim MyValueMyValue = Val("2457") ' 傳回 2457 。 MyValue = Val(" 2 45 7") ' 傳回 2457 。 MyValue = Val("24 and 57") ' 傳回 24 。
若 你希望在C#中使用VB中的函數,那麼請你添加對Microsoft.VisualBasic.dll的引用,然後導入命名空間
using Microsoft.VisualBasic;然後使用Conversion類裡的靜态Val函數.你也可以使用完全限定名引入,比如
Microsoft.VisualBasic.Conversion.Val("123abc");傳回的結果是123
題記:若你想使用别的語言裡的函數,而自己又不希望在本語言中自己構造,那麼就導入别語言的DLL,再引用裡面的函數即可。
來源:http://www.cnblogs.com/wanzegui325/archive/2010/11/09/vb_val_function.html