Lesson.23 文字列を数字に
文字列の数字
文字列のところで「"1"」と「1」は違うと話しました。
そして「"1"」の文字列のほうは、計算はできません。
しかし、文字列の数字を計算したいときもありますよね。
例えば、先ほど紹介したインプットボックスは文字列で帰ってきます。
そのインプットボックスの値を利用して計算したいときはその数字は文字列なので、
変換してあげなければなりませんよね。
しかし心配しなくても大丈夫。VBSにはちゃんと変換してくれるものがあります。
それが、「int」というものです。
intの使い方
intは「int((数字の文字列))」のように使います。
例:
Dim numstring
numstring = inputbox("数字を入力してね。")
msgbox int(numstring) + 3
numstring = inputbox("数字を入力してね。")
msgbox int(numstring) + 3
この例では入力された数字に3を足したものを表示させています。
暗黙の型変換
実は、さっきの例、intを使わずに、
Dim numstring
numstring = inputbox("数字を入力してね。")
msgbox numstring + 3
numstring = inputbox("数字を入力してね。")
msgbox numstring + 3
のようにしても一応動きます。
これはコンピュータが勝手にintを使ってくれるからです。
このことを「暗黙の型変換」といいます。
しかしこの機能、変数宣言の省略のときと同じように、あまり使わないようにしてください。
それは、プログラム上で、予期せぬことが起きることがあるからです。
なるべく人間がコンピュータに詳しく教えてあげた方が、正しく動く可能性が大きくなります。
練習
インプットボックスで数字を打ってもらった後、その数に3を書けたものを表示させるプログラムを書け。
解答
Dim number
number = inputbox("数字を入力してね。")
msgbox number * 3
number = inputbox("数字を入力してね。")
msgbox number * 3