このエラーが発生する理由は、実際にはCFにTryParse
メソッドが含まれていないためです。別の解決策は、正規表現を使用することです。
Public Function CheckIsNumeric(ByVal inputString As String) As Boolean
Return Regex.IsMatch(inputString, "^[0-9 ]+$")
End Function
編集
これは、あらゆるタイプの数値に一致する必要がある、より包括的な正規表現です。
Public Function IsNumeric(value As String) As Object
'bool variable to hold the return value
Dim match As Boolean
'regula expression to match numeric values
Dim pattern As String = "(^[-+]?\d+(,?\d*)*\.?\d*([Ee][-+]\d*)?$)|(^[-+]?\d?(,?\d*)*\.\d+([Ee][-+]\d*)?$)"
'generate new Regulsr Exoression eith the pattern and a couple RegExOptions
Dim regEx As New Regex(pattern, RegexOptions.Compiled Or RegexOptions.IgnoreCase Or RegexOptions.IgnorePatternWhitespace)
'tereny expresson to see if we have a match or not
match = If(regEx.Match(value).Success, True, False)
'return the match value (true or false)
Return match
End Function
詳細については、次の記事を参照してください:http ://www.dreamincode.net/code/snippet2770.htm