タイトル : Re^2: 'System.InvalidCastException' 投稿日 : 2007/04/24(Tue) 09:26 投稿者 : ひでと
ありがとうございました。 > > Cast 可能かどうかを調べた上で Cast したほうが確実です。 > 実行コストも低くなると思います。 > .NET Framework のバージョンがわかりませんが、 > TryParse 等を使って調べたりとか。 以下で、できました。 Public Function 文字to数字(ByVal 文字 As String) As Object Dim returnValue As Boolean 文字to数字 = 文字 If 文字 = "" Then Exit Function Dim r1 As Short : returnValue = Short.TryParse(文字, r1) If returnValue = True Then 文字to数字 = CShort(文字) : Exit Try Dim r2 As Integer : returnValue = Integer.TryParse(文字, r2) If returnValue = True Then 文字to数字 = CInt(文字) : Exit Try Dim r3 As Long : returnValue = Long.TryParse(文字, r3) If returnValue = True Then 文字to数字 = CLng(文字) : Exit Try Dim r4 As Single : returnValue = Single.TryParse(文字, r4) If returnValue = True Then 文字to数字 = CSng(文字) : Exit Try Dim r5 As Double : returnValue = Double.TryParse(文字, r5) If returnValue = True Then 文字to数字 = CDbl(文字) : Exit Try End Function |