Val函数 返回 返回包含于字符串内的数字,字符串中是一个适当类型的数值。语法Val(string)必要的 string 参数可以是任何有效的字符串表达式.说明Val 函数,在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别。但是函数可以识别进位制符号 &O(八进制)和 &H(十六进制)。空白、制表符和换行符都从参数中被去掉。下面的返回值为 1615198:Val(" 1615 198th Street N.E.")在下面的代码中,Val 为所示的十六进制数值返回十进制数值 -1。Val("&HFFFF")注意 Val 函数只会将句点(.)当成一个可用的小数点分隔符。当使用不同的小数点分隔符时,如在国际版应用程序中,代之以 CDbl 来把字符串转换为数字。
Function getit(ByVal x As String) As String getit = x Do While Not IsNumeric(Left(getit, 1)) getit = Replace(getit, Left(getit, 1), "") Loop getit = Val(getit) End Function
Private Sub Form_Load() MsgBox RightVal("AAAA333") MsgBox RightVal("ABC213") End SubFunction RightVal(ByVal s As String) As Long Dim i As Long RightVal = 0 For i = Len(s) To 1 Step -1 If Not IsNumeric(Mid(s, i, 1)) Then RightVal = Val(Mid(s, i + 1)): Exit For Next End Function
getit = x
Do While Not IsNumeric(Left(getit, 1))
getit = Replace(getit, Left(getit, 1), "")
Loop
getit = Val(getit)
End Function
MsgBox RightVal("AAAA333")
MsgBox RightVal("ABC213")
End SubFunction RightVal(ByVal s As String) As Long
Dim i As Long
RightVal = 0
For i = Len(s) To 1 Step -1
If Not IsNumeric(Mid(s, i, 1)) Then RightVal = Val(Mid(s, i + 1)): Exit For
Next
End Function