回覆列表
  • 1 # 藍風24

    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 來把字串轉換為數字。

    參考資料:

  • 中秋節和大豐收的關聯?
  • 韓國自然樂園蘆薈膠的使用方法?