val是一個將字串引數轉換成數值的函式,字串引數中一般要含有數字,且以數字開頭,val函式才會將其中的數字轉換成適當的數值。
它能識別小數點和進位符號:&O和&H。但它不能識別可能作為數值一部分的符號和字元,例如美元符與逗號。引數中的空白符、製表符和換行符會被去掉。如果字串不能轉換為數值,將返回0。
val過程:
用法:Val(S,V,Code);
含義:將字串S轉換成與V相同的數值型別並賦值給V,如果字串中有非數字,則V:=0,Code用於返回非數字字元的位置。
使用例子:
text1.text = "10"
text2.text = "11"
text3.text = text1.text+text2.text
按道理應該得到10+11(結果是21),但返回的是1011,這個是因為運算時候是字元運算。
text3.text = val(text1.text)+val(text2.text)
這樣就返回21了 因為這裡不是計算"11"+"12"而是計算11+12 前者等同於"11" & "12"。
如果是字串或者空格會返回一個0,所以可以利用這一點過濾字元只能輸入數字 。
擴充套件資料
Val 函式,在它不能識別為數字的第一個字元上,停止讀入字串。那些被認為是數值的一部分的符號和字元,例如美圓號與逗號,都不能被識別。但是函式可以識別進位制符號 &O(八進位制)和 &H(十六進位制)。空白、製表符和換行符都從引數中被去掉。
下面的返回值為 1615198:
Val(" 1615 198th Street N.E.")
在下面的程式碼中,Val 為所示的十六進位制數值返回十進位制數值 -1。
Val("&HFFFF")
注意 Val 函式只會將句點(.)當成一個可用的小數點分隔符。當使用不同的小數點分隔符時,如在國際版應用程式中,代之以 CDbl 來把字串轉換為數字。
參考資料:
val是一個將字串引數轉換成數值的函式,字串引數中一般要含有數字,且以數字開頭,val函式才會將其中的數字轉換成適當的數值。
它能識別小數點和進位符號:&O和&H。但它不能識別可能作為數值一部分的符號和字元,例如美元符與逗號。引數中的空白符、製表符和換行符會被去掉。如果字串不能轉換為數值,將返回0。
val過程:
用法:Val(S,V,Code);
含義:將字串S轉換成與V相同的數值型別並賦值給V,如果字串中有非數字,則V:=0,Code用於返回非數字字元的位置。
使用例子:
text1.text = "10"
text2.text = "11"
text3.text = text1.text+text2.text
按道理應該得到10+11(結果是21),但返回的是1011,這個是因為運算時候是字元運算。
text1.text = "10"
text2.text = "11"
text3.text = val(text1.text)+val(text2.text)
這樣就返回21了 因為這裡不是計算"11"+"12"而是計算11+12 前者等同於"11" & "12"。
如果是字串或者空格會返回一個0,所以可以利用這一點過濾字元只能輸入數字 。
擴充套件資料
Val 函式,在它不能識別為數字的第一個字元上,停止讀入字串。那些被認為是數值的一部分的符號和字元,例如美圓號與逗號,都不能被識別。但是函式可以識別進位制符號 &O(八進位制)和 &H(十六進位制)。空白、製表符和換行符都從引數中被去掉。
下面的返回值為 1615198:
Val(" 1615 198th Street N.E.")
在下面的程式碼中,Val 為所示的十六進位制數值返回十進位制數值 -1。
Val("&HFFFF")
注意 Val 函式只會將句點(.)當成一個可用的小數點分隔符。當使用不同的小數點分隔符時,如在國際版應用程式中,代之以 CDbl 來把字串轉換為數字。
參考資料: