タイトル | : Re^2: 'System.InvalidCastException' |
記事No | : 5400 |
投稿日 | : 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
|