• ベストアンサー

データ型変換

String型のデータをInteger型の変数に入れたいのでが・・・。 '変数の宣言 Dim DataTable(2, 5) As String Dim made As Integer 'データ型変換 made = CInt(DataTable(1, 0)) このようにしたのですが、実行すると 『実行時エラー '13'  型が一致しません』 と表示され、デバックしてみるとココ↓ made = CInt(DataTable(1, 0)) が黄色くなります。 どうしたら上手く型変換ができるのでしょうか? ちなみに、VB6.0です。

質問者が選んだベストアンサー

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.1

CInt()は「浮動小数点値」をInteger型にする関数です。 made = CInt(CStr(DataTable(1, 0))) こう書いて下さい。 CStr()を使ってString型のDataTable(1, 0)を数値に変換して 変換した数値が小数点を含む実数の可能性があるのでCInt()を使ってInteger型にして 結果をmadeに代入 と言う事をしている訳です。

hiromu0103
質問者

お礼

ありがとうございました。 CInt()は「浮動小数点値」をInteger型に変換するものだったんですね。勉強不足でした。

その他の回答 (1)

  • TAK_999
  • ベストアンサー率43% (42/96)
回答No.2

DataTable(1,0)には何が格納されていますか? 数値として評価できる文字列が格納されていなければエラーになります。 私ならば、 If IsNumeric(DataTable(1,0) Then made = CInt(DataTable(1, 0)) Else made=0 End If とでもコーディングします

hiromu0103
質問者

お礼

DataTable(1,0)には何も格納されていませんでした。 とても初歩的なミスでした。ご指摘ありがとうございました。

専門家に質問してみよう