07.変数のお話-文字型と整数型
 

前回お話しした通り、文字型と整数型では同じ数字を扱うにしても動作が異なります。
試しにプロジェクト「variable」を作って以下のフォーム作成、コード記述をして下さい。
フォーム画面

Public Class Form1

 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  Dim intA As Integer  '足される数(数値型)
  Dim intB As Integer  '足す数(数値型)
  Dim intC As Integer  '足し算の結果(数値型)

   Dim strA As String  '足される数(文字型)
  Dim strB As Stringr  '足す数(文字型)
  Dim strC As String  '足し算の結果(文字型)

   '数値の足し算
   intA = 1
  intB = 1
  intC = intA + intB

  '文字の足し算
   strA = "1"
  strB = "1"
  strC = strA + strB

   MessageBox.Show("intC =" & intC & ", strC =" & strC)
 End Sub
End Class

実行し計算ボタンを押すと以下の画面が表示されます。
結果ダイアログ

上記コード説明をします。
このコードは数値の足し算と文字の足し算を行い、その結果を比較表示します。
数値型変数intAとintBに数値1を入れて足し算した結果、つまり2がintCに入ります。
一方、文字型変数strA、strBには両方共、文字列"1"が代入されています。文字同士の足し算は計算をするのではなく、文字同士をつなぐことになります。ですので、「+」を「&」と読み替えてもらうとわかると思います。
最後にMessageBox.Showで結果表示しています。

このように、数値型と文字型では足し算の結果もまったく違ったものになることがおわかりいただけたかと考えます。

あとMessageBoxの表示する変数の中でintCをそのまま表示しています。おかしいことに気づかれましたか?
本来表示されるものは文字列か文字型変数でなければいけません。
VB2005では親切に数値型を文字型に自動的に変換してくれているのです。
しかし、正式には文字型変換をする関数(コマンドだと思って下さい)を使って変換すべきなので、そうする癖をつけることをお勧めします。

MessageBox.Show("intC =" & intC & ", strC =" & strC)

文字型変数と数値型変数の違いを、今回はご説明しました。ご理解いただけると嬉しいです。