忍者ブログ

VB.NET-TIPS などプログラミングについて

VB.NETのTIPS(小技集)を中心に、Javascript、PHP その他のプログラミングについて少し役に立つ情報を発信します。いわゆる個人的な忘備録ですが、みなさんのお役に立てれば幸いです。

オブジェクト型から数値型への変換(TryParse)

文字列から数値型への変換は以下のページにありますが、今回はオブジェクト型から数値への変換を記します。
文字列から数値型への変換(parse - tryparse)

Integer型に変換するために Integer.TryParse メソッドを使いますが、引数としては文字列なので 先ずはオブジェクト型から文字列型への変換関数を宣言します。 ソースは以下の様になります。(Objectデータが「Nothing」「DBNULL」の場合には空文字列を返します。)

オブジェクト型からString型への変換

    ''' 
    ''' Object型からString型にデータ変換
    ''' 
    ''' <param>元のObject</param>
    ''' String型に変換後の値
    ''' String型に変換できない場合は「""」を返す
    Function ObjToStr(ByVal objSrc As Object) As String
        Dim strRet As String
        Try
            If objSrc Is Nothing Then
                'Objectデータが「Nothing」の場合
                strRet = ""
            ElseIf IsDBNull(objSrc) Then
                'Objectデータが「DBNULL」の場合
                strRet = ""
            Else
                '文字列に変換
                strRet = CStr(objSrc)
            End If

        Catch ex As Exception
            'エラーの場合
            strRet = ""
        End Try
        '変換値を返す
        Return strRet
    End Function

このオブジェクト型から文字列型への変換関数を利用して、 オブジェクト型からInteger型への変換関数を宣言します。

オブジェクト型からInteger型への変換

    ''' 
    ''' Object型からInteger型にデータ変換
    ''' 
    ''' <param>元のObject</param>
    ''' Integer型に変換後の値
    ''' Integer型に変換できない場合は「0」を返す
    Function ObjToInt(ByVal objSrc As Object) As Integer
        Dim intRet As Integer
        Try
            'String型に変換
            Dim strSrc As String = ObjToStr(objSrc)
            'Integer型に変換
            If Integer.TryParse(strSrc, intRet) = False Then
                '変換が不可の場合
                intRet = 0
            End If

        Catch ex As Exception
            'エラーの場合
            intRet = 0
        End Try
        '変換値を返す
        Return intRet
    End Function


更にオブジェクト型からDecimal型への変換は以下の様になります。 (その他のDouble型とかも同様に宣言できます)

オブジェクト型からDecimal型への変換

    ''' 
    ''' Object型からDecimal型にデータ変換
    ''' 
    ''' <param>元のObject</param>
    ''' Decimal型に変換後の値
    ''' Decimal型に変換できない場合は「0」を返す
    Function ObjToDec(ByVal objSrc As Object) As Decimal
        Dim decRet As Decimal
        Try
            'String型に変換
            Dim strSrc As String = ObjToStr(objSrc)
            'Decimal型に変換
            If Decimal.TryParse(strSrc, decRet) = False Then
                '変換が不可の場合
                decRet = 0
            End If

        Catch ex As Exception
            'エラーの場合
            decRet = 0
        End Try
        '変換値を返す
        Return decRet
    End Function

関連する記事

文字列から数値型への変換(parse - tryparse)











PR

コメント

コメントを書く