3.Convert クラスのメソッドでのデータ型変換関数等の紹介(11_Fnc_03) (旧、SampleNo.003) |
下記プログラムコードに関する補足・注意事項 動作確認:Windows Vista・Windows 7 (32bit)/VB2010(SP1Rel) Framework 4.0(SP1Rel)/ターゲットCPU:x86 Option :[Compare Text] [Explicit On] [Infer On] [Strict On] Imports :追加なし 参照設定:追加なし その他 :Button1 : このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので) 必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい) |
1.ChangeType メソッドの使用例(指定した TypeCode で指定したオブジェクトに等しい値を持つ Objectを返す) |
Convert.ChangeType メソッド = 指定した TypeCode で、指定したオブジェクトに等しい値を持つ Object を返します。 CType 関数の使用例も参照願います。 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click TextBox1.Text = "1.Convert.ChangeType メソッド = 指定した TypeCode で、指定したオブジェクトに等しい値を持つ Object を返します。" & vbCrLf TextBox1.Text &= String.Format("変換結果 = {0} TypeName = {1}", CInt(Convert.ChangeType(-2.345#, GetType(Integer))), _ TypeName(CInt(Convert.ChangeType(-2.345#, GetType(Integer))))) & vbCrLf TextBox1.Text &= String.Format("変換結果 = {0} TypeName = {1}", CDate(Convert.ChangeType("2013/12/27", GetType(DateTime))), _ TypeName(CDate(Convert.ChangeType("2013/12/27", GetType(DateTime))))) & vbCrLf TextBox1.Text &= String.Format(TypeName(Convert.ChangeType("2013/12/27", GetType(DateTime)))) '結果 Date と表示されるが、実際は戻り値は Object 型なので下記ではエラーとなる。 '(Option Strict On で 'Object' から 'Date' への暗黙的な変換はできません。 とエラーになる) 'Dim d1 As DateTime = Convert.ChangeType("2013/12/27", GetType(DateTime)) End Sub 上記実行結果 1.Convert.ChangeType メソッド = 指定した TypeCode で、指定したオブジェクトに等しい値を持つ Object を返します。 変換結果 = -2 TypeName = Integer 変換結果 = 2013/12/27 00:00:00 TypeName = Date Date |
2.ToBoolean メソッドの使用例(指定した値を等価のブール値に変換する) |
Convert.ToBoolean メソッド = 指定した値を等価のブール値に変換します。 CBool 関数の使用例も参照願います。 Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click TextBox1.Text = "2.Convert.ToBoolean メソッド = 指定した値を等価のブール値に変換します。" & vbCrLf Dim values() As Integer = {-1, 0, 1, 2} For Each value As Integer In values TextBox1.Text &= String.Format("Convert.ToBoolean({0}) = {1}", value, Convert.ToBoolean(value)) & vbCrLf Next End Sub 上記実行結果 2.Convert.ToBoolean メソッド = 指定した値を等価のブール値に変換します。 Convert.ToBoolean(-1) = True Convert.ToBoolean(0) = False Convert.ToBoolean(1) = True Convert.ToBoolean(2) = True |
3.ToByte メソッドの使用例(指定した値を 8 ビット符号なし整数に変換する) |
Convert.ToByte メソッド = 指定した値を 8 ビット符号なし整数に変換します。 CByte 関数の使用例も参照願います。 Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click TextBox1.Text = "3.Convert.ToByte メソッド = 指定した値を 8 ビット符号なし整数に変換します。" & vbCrLf Dim values() As Double = {4.4, 4.5, 4.6, 5.4, 5.5, 5.6} TextBox1.Text &= "Dim values() As Double = {4.4, 4.5, 4.6, 5.4, 5.5, 5.6}" & vbCrLf & vbCrLf For Each value As Integer In values TextBox1.Text &= String.Format("Convert.ToByte({0}) = {1}", value, Convert.ToByte(value)) & vbCrLf Next End Sub 上記実行結果 3.Convert.ToByte メソッド = 指定した値を 8 ビット符号なし整数に変換します。 Dim values() As Double = {4.4, 4.5, 4.6, 5.4, 5.5, 5.6} Convert.ToByte(4) = 4 Convert.ToByte(4) = 4 Convert.ToByte(5) = 5 Convert.ToByte(5) = 5 Convert.ToByte(6) = 6 Convert.ToByte(6) = 6 |
4.ToChar メソッドの使用例(指定した値を Unicode 文字に変換する) |
Convert.ToChar メソッド = 指定した値を Unicode 文字に変換します。 (CChar 関数と違い2文字以上を指定するとエラーとなります。) CChar 関数の使用例も参照願います。 Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click TextBox1.Text = "4.Convert.ToChar メソッド = 指定した値を Unicode 文字に変換します。(CChar 関数と違い2文字以上を指定するとエラーとなります。)" & vbCrLf Dim values() As String = {"A", "B", "CD", "123"} Dim value As String = "" Try For Each value In values TextBox1.Text &= String.Format("Convert.ToChar({0}) = {1}", value, Convert.ToChar(value)) & vbCrLf Next Catch ex As Exception TextBox1.Text &= String.Format("[" & value & "] " & ex.Message) & vbCrLf End Try End Sub 上記実行結果 4.Convert.ToChar メソッド = 指定した値を Unicode 文字に変換します。(CChar 関数と違い2文字以上を指定するとエラーとなります。) Convert.ToChar(A) = A Convert.ToChar(B) = B [CD] String には一文字しか使用できません。 |
5.ToDateTime メソッドの使用例(指定した値を DateTime に変換する) |
Convert.ToDateTime メソッド = 指定した値を DateTime に変換します。 CDate 関数の使用例も参照願います。 Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click TextBox1.Text = "5.Convert.ToDateTime メソッド = 指定した値を DateTime に変換します。" & vbCrLf Dim values() As String = {"December 23, 2013", "4:35:47 PM", "平成25年12月23日"} Dim value As String = "" Try For Each value In values TextBox1.Text &= String.Format("Convert.ToDateTime(""{0}"") = {1}", value, Convert.ToDateTime(value)) & vbCrLf Next Catch ex As Exception TextBox1.Text &= String.Format("[" & value & "] " & ex.Message) & vbCrLf End Try End Sub 上記実行結果 5.Convert.ToDateTime メソッド = 指定した値を DateTime に変換します。 Convert.ToDateTime("December 23, 2013") = 2013/12/23 00:00:00 Convert.ToDateTime("4:35:47 PM") = 2015/01/08 16:35:47 Convert.ToDateTime("平成25年12月23日") = 2013/12/23 00:00:00 |
6.ToDecimal メソッドの使用例(指定した値を Decimal の数値に変換する) |
Convert.ToDecimal メソッド = 指定した値を Decimal の数値に変換します。 CDec 関数の使用例も参照願います。 Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click TextBox1.Text = "6.Convert.ToDecimal メソッド = 指定した値を Decimal の数値に変換します。" & vbCrLf Dim values() As String = {"12,013", "123.45", "-1,234"} Dim value As String = "" Try For Each value In values TextBox1.Text &= String.Format("Convert.ToDecimal(""{0}"") = {1}", value, Convert.ToDecimal(value)) & vbCrLf Next Catch ex As Exception TextBox1.Text &= String.Format("[" & value & "] " & ex.Message) & vbCrLf End Try End Sub 上記実行結果 6.Convert.ToDecimal メソッド = 指定した値を Decimal の数値に変換します。 Convert.ToDecimal("12,013") = 12013 Convert.ToDecimal("123.45") = 123.45 Convert.ToDecimal("-1,234") = -1234 |
7.ToDouble メソッドの使用例(指定した値を倍精度浮動小数点数に変換する) |
Convert.ToDouble メソッド = 指定した値を倍精度浮動小数点数に変換します。 CDbl 関数の使用例も参照願います。 Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click TextBox1.Text = "7.Convert.ToDouble メソッド = 指定した値を倍精度浮動小数点数に変換します。" & vbCrLf Dim values() As String = {"12,013", "123.45", "-1,234"} Dim value As String = "" Try For Each value In values TextBox1.Text &= String.Format("Convert.ToDouble(""{0}"") = {1}", value, Convert.ToDouble(value)) & vbCrLf Next Catch ex As Exception TextBox1.Text &= String.Format("[" & value & "] " & ex.Message) & vbCrLf End Try End Sub 上記実行結果 7.Convert.ToDouble メソッド = 指定した値を倍精度浮動小数点数に変換します。 Convert.ToDouble("12,013") = 12013 Convert.ToDouble("123.45") = 123.45 Convert.ToDouble("-1,234") = -1234 |
8.ToInt16 メソッドの使用例(指定した値を 16 ビット符号付き整数に変換する) |
Convert.ToInt16 メソッド = 指定した値を 16 ビット符号付き整数に変換します。(小数部分は丸められます) CShort 関数の使用例も参照願います。 Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click TextBox1.Text = "8.Convert.ToInt16 メソッド = 指定した値を 16 ビット符号付き整数に変換します。(小数部分は丸められます)" & vbCrLf Dim values() As Object = {12013, 123.56, -1234, "01234"} Dim value As Object = 0 Try For Each value In values TextBox1.Text &= String.Format("Convert.ToInt16({0}) = {1}", value, Convert.ToInt16(value)) & vbCrLf Next Catch ex As Exception TextBox1.Text &= String.Format("[" & value.ToString & "] " & ex.Message) & vbCrLf End Try End Sub 上記実行結果 8.Convert.ToInt16 メソッド = 指定した値を 16 ビット符号付き整数に変換します。(小数部分は丸められます) Convert.ToInt16(12013) = 12013 Convert.ToInt16(123.56) = 124 Convert.ToInt16(-1234) = -1234 Convert.ToInt16(01234) = 1234 |
9.ToInt32 メソッドの使用例(指定した値を 32 ビット符号付き整数に変換する) |
Convert.ToInt32 メソッド = 指定した値を 32 ビット符号付き整数に変換します。 CInt 関数の使用例も参照願います。 Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click TextBox1.Text = "9.Convert.ToInt32 メソッド = 指定した値を 32 ビット符号付き整数に変換します。" & vbCrLf Dim values() As Object = {12013, 123.56, -1234, "01234"} Dim value As Object = 0 Try For Each value In values TextBox1.Text &= String.Format("Convert.ToInt32({0}) = {1} TypeName = {2}", value, _ Convert.ToInt32(value), TypeName(Convert.ToInt32(value))) & vbCrLf Next Catch ex As Exception TextBox1.Text &= String.Format("[" & value.ToString & "] " & ex.Message) & vbCrLf End Try End Sub 上記実行結果 9.Convert.ToInt32 メソッド = 指定した値を 32 ビット符号付き整数に変換します。 Convert.ToInt32(12013) = 12013 TypeName = Integer Convert.ToInt32(123.56) = 124 TypeName = Integer Convert.ToInt32(-1234) = -1234 TypeName = Integer Convert.ToInt32(01234) = 1234 TypeName = Integer |
10.ToInt64 メソッドの使用例(指定した値を 64 ビット符号付き整数に変換する) |
Convert.ToInt64 メソッド = 指定した値を 64 ビット符号付き整数に変換します。 CLng 関数の使用例も参照願います。 Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click TextBox1.Text = "10.Convert.ToInt64 メソッド = 指定した値を 64 ビット符号付き整数に変換します。" & vbCrLf Dim values() As Object = {12013, 123.56, -1234, "01234"} Dim value As Object = 0 Try For Each value In values TextBox1.Text &= String.Format("Convert.ToInt64({0}) = {1} TypeName = {2}", value, _ Convert.ToInt64(value), TypeName(Convert.ToInt64(value))) & vbCrLf Next Catch ex As Exception TextBox1.Text &= String.Format("[" & value.ToString & "] " & ex.Message) & vbCrLf End Try End Sub 上記実行結果 10.Convert.ToInt64 メソッド = 指定した値を 64 ビット符号付き整数に変換します。 Convert.ToInt64(12013) = 12013 TypeName = Long Convert.ToInt64(123.56) = 124 TypeName = Long Convert.ToInt64(-1234) = -1234 TypeName = Long Convert.ToInt64(01234) = 1234 TypeName = Long |
11.ToSByte メソッドの使用例(指定した値を 8 ビット符号付き整数に変換する) |
Convert.ToSByte メソッド = 指定した値を 8 ビット符号付き整数に変換します。 CSByte 関数の使用例も参照願います。 Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click TextBox1.Text = "11.Convert.ToSByte メソッド = 指定した値を 8 ビット符号付き整数に変換します。" & vbCrLf Dim values() As Object = {4.4, 4.5, 4.6, 5.4, 5.5, 5.6} Dim value As Object = 0 Try For Each value In values TextBox1.Text &= String.Format("Convert.ToSByte({0}) = {1} TypeName = {2}", value, _ Convert.ToSByte(value), TypeName(Convert.ToSByte(value))) & vbCrLf Next Catch ex As Exception TextBox1.Text &= String.Format("[" & value.ToString & "] " & ex.Message) & vbCrLf End Try End Sub 上記実行結果 11.Convert.ToSByte メソッド = 指定した値を 8 ビット符号付き整数に変換します。 Convert.ToSByte(4.4) = 4 TypeName = SByte Convert.ToSByte(4.5) = 4 TypeName = SByte Convert.ToSByte(4.6) = 5 TypeName = SByte Convert.ToSByte(5.4) = 5 TypeName = SByte Convert.ToSByte(5.5) = 6 TypeName = SByte Convert.ToSByte(5.6) = 6 TypeName = SByte |
12.ToSingle メソッドの使用例(指定した値を単精度浮動小数点数に変換する) |
Convert.ToSingle メソッド = 指定した値を単精度浮動小数点数に変換します。 CSng 関数の使用例も参照願います。 Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click TextBox1.Text = "12.Convert.ToSingle メソッド = 指定した値を単精度浮動小数点数に変換します。" & vbCrLf Dim value As Double = 123.456 TextBox1.Text &= String.Format("TypeName(value) = {0}", TypeName(value)) & vbCrLf TextBox1.Text &= String.Format("TypeName(Convert.ToSingle(value)) = {0}", TypeName(Convert.ToSingle(value))) & vbCrLf TextBox1.Text &= String.Format("Convert.ToSingle(value) = {0}", Convert.ToSingle(value)) & vbCrLf End Sub 上記実行結果 12.Convert.ToSingle メソッド = 指定した値を単精度浮動小数点数に変換します。 TypeName(value) = Double TypeName(Convert.ToSingle(value)) = Single Convert.ToSingle(value) = 123.456 |
13.ToString メソッドの使用例(指定した値を等価の文字列形式に変換する) |
Convert.ToString メソッド = 指定した値を等価の文字列形式に変換します。 CStr 関数の使用例も参照願います。 Private Sub Button13_Click(sender As Object, e As EventArgs) Handles Button13.Click TextBox1.Text = "13.Convert.ToString メソッド = 指定した値を等価の文字列形式に変換します。" & vbCrLf Dim value As Double = 123.456 TextBox1.Text &= String.Format("TypeName(value) = {0}", TypeName(value)) & vbCrLf TextBox1.Text &= String.Format("TypeName(Convert.ToString(value)) = {0}", TypeName(Convert.ToString(value))) & vbCrLf TextBox1.Text &= String.Format("""00"" & Convert.ToString(value) = {0}", "00" & Convert.ToString(value)) & vbCrLf End Sub 上記実行結果 13.Convert.ToString メソッド = 指定した値を等価の文字列形式に変換します。 TypeName(value) = Double TypeName(Convert.ToString(value)) = String "00" & Convert.ToString(value) = 00123.456 |
14.ToUInt16 メソッドの使用例(指定した値を 16 ビット符号なし整数に変換する) |
Convert.ToUInt16 メソッド = 指定した値を 16 ビット符号なし整数に変換します。(小数部分は丸められます) CUShort 関数の使用例も参照願います。 Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click TextBox1.Text = "14.Convert.ToUInt16 メソッド = 指定した値を 16 ビット符号なし整数に変換します。(小数部分は丸められます)" & vbCrLf Dim value As Double = 123.456 TextBox1.Text &= String.Format("TypeName(value) = {0}", TypeName(value)) & vbCrLf TextBox1.Text &= String.Format("TypeName(Convert.ToUInt16(value)) = {0}", TypeName(Convert.ToUInt16(value))) & vbCrLf TextBox1.Text &= String.Format("Convert.ToUInt16(value) = {0}", Convert.ToUInt16(value)) & vbCrLf End Sub 上記実行結果 14.Convert.ToUInt16 メソッド = 指定した値を 16 ビット符号なし整数に変換します。(小数部分は丸められます) TypeName(value) = Double TypeName(Convert.ToUInt16(value)) = UShort Convert.ToUInt16(value) = 123 |
15.ToUInt32 メソッドの使用例(指定した値を 32 ビット符号なし整数に変換する) |
Convert.ToUInt32 メソッド = 指定した値を 32 ビット符号なし整数に変換します。(小数部分は丸められます) CUInt 関数の使用例も参照願います。 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click TextBox1.Text = "15.Convert.ToUInt32 メソッド = 指定した値を 32 ビット符号なし整数に変換します。(小数部分は丸められます)" & vbCrLf Dim value As Double = 124.5 TextBox1.Text &= String.Format("TypeName(value) = {0}", TypeName(value)) & vbCrLf TextBox1.Text &= String.Format("TypeName(Convert.ToUInt32(value)) = {0}", TypeName(Convert.ToUInt32(value))) & vbCrLf TextBox1.Text &= String.Format("Convert.ToUInt32(value) = {0}", Convert.ToUInt32(value)) & vbCrLf End Sub 上記実行結果 15.Convert.ToUInt32 メソッド = 指定した値を 32 ビット符号なし整数に変換します。(小数部分は丸められます) TypeName(value) = Double TypeName(Convert.ToUInt32(value)) = UInteger Convert.ToUInt32(value) = 124 |
16.ToUInt64 メソッドの使用例(指定した値を 64 ビット符号なし整数に変換する) |
Convert.ToUInt64 メソッド = 指定した値を 64 ビット符号なし整数に変換します。(小数部分は丸められます) CULng 関数の使用例も参照願います。 Private Sub Button16_Click(sender As Object, e As EventArgs) Handles Button16.Click TextBox1.Text = "16.Convert.ToUInt64 メソッド = 指定した値を 64 ビット符号なし整数に変換します。(小数部分は丸められます)" & vbCrLf Dim value As Double = 124.5 TextBox1.Text &= String.Format("TypeName(value) = {0}", TypeName(value)) & vbCrLf TextBox1.Text &= String.Format("TypeName(Convert.ToUInt64(value)) = {0}", TypeName(Convert.ToUInt64(value))) & vbCrLf TextBox1.Text &= String.Format("Convert.ToUInt64(value) = {0}", Convert.ToUInt64(value)) & vbCrLf End Sub 上記実行結果 16.Convert.ToUInt64 メソッド = 指定した値を 64 ビット符号なし整数に変換します。(小数部分は丸められます) TypeName(value) = Double TypeName(Convert.ToUInt64(value)) = ULong Convert.ToUInt64(value) = 124 |
17. |
18. |
19. |
20. |
検索キーワード及びサンプルコードの別名(機能名) |