3-5 整数型の変数

正解は「1431」でした。これはつまり、VisualBasic ではテキストボックスの中身を「14」や「31」という整数ではなく「1」「4」「3」「1」という文字の集まりとしか認識していないことを意味します。では、本当に電卓を作りたくなったらどうすればいいのでしょうか。

【基礎課題 3-4】

こういう場合は、整数しか入れることができない変数 (整数型変数) を用意し、テキストボックスの内容を一旦そこに入れてから足し算します。すると、VisualBasic は「整数と整数の足し算である」と認識してくれます。

論より証拠、実際にプログラムを書いてみましょう。まず、次のように整数型変数を3つ用意します。

Private Sub CommandAdd_Click()
  Dim A As Integer
  Dim B As Integer
  Dim C As Integer
  TextResult.Text = Text1.Text + Text2.Text
End Sub

このように、「Dim A」という変数宣言の後に「As Integer」と書くことによって、変数を整数専用にすることができます。これで、(実行画面では見えませんが) プログラムの中に整数型変数が3つできました。

この3つの変数を使って計算するように、プログラムを変更しましょう。下線部分には何が入りますか?

Private Sub CommandAdd_Click()
  Dim A As Integer
  Dim B As Integer
  Dim C As Integer
  A = Text1.Text
  B = Text2.Text
  C = A + B
  TextResult.Text = C
End Sub

完成したら実行して「14」「31」と入力し、結果を確かめましょう。

コラム Integer 以外には何があるの?

Dim ???? As」の後に「Variant」と書くか「Integer」と書くかで、その変数の型が決まりました。VisualBasic には他にもいくつかの型があります。

型の名前 日本語名 データ形式 足し算の結果
Variant 万能型 文字列でも数値でも 14+31=1431
Integer 整数型 整数 14+31=45
Double 小数型 小数 14+31=45
String 文字列型 文字列 14+31=1431

ですが、大抵の場合は Variant 型で用が足ります。

【練習問題】

Text1.Width に次の値を入れて「Enter」キーを押し、Text1.Width は整数しか受け付けないことを確かめましょう。