2016-09-11 20 views
0

私が学んだことをテストするために、私はVBScriptで簡単な電卓プログラムを作っています。 オペレータ(+、 - 、*または/)の1つ目の番号と2番目の番号の3番目の入力ボックスを入力する入力ボックスをユーザー(私)に与えます。 3つの演算子 - 、*、/はうまく動作しますが、追加をテストするときnum1をnum2に追加するのではなくconcatenatesします。 は、ここに私のコードです:変数の代わりにconcatinatedが追加されました

dim num1,num2,answer,operators 
num1 = inputbox("please enter your first number","calculator") 
operators = inputbox("please enter either +,-,* or /","calculator") 
num2 = inputbox("please enter your second number","calculator") 
'keep the above lines, above everything else 
Select Case operators 
     Case "+" 
     answer = (num1 + num2) 
     Case "-" 
     answer = (num1 - num2) 
     Case "*" 
     answer = (num1 * num2) 
     Case "/" 
     answer = (num1/num2) 
     case else 
msgbox("please enter a valid operator") 
End Select 
msgbox answer 

ので、出力は私が言うのならば6 + 7、私は最後ではなく、開始時に「=答え」を入れてみました67 ですが、それは予想なステートメント」をスローしますエラー。

なぜこれを行うのですか?

答えて

2

Inputboxは文字列を返すので、 "1" + "2" = "12"となります。試してみてください:

answer = (CInt(num1) + Cint(num2)) 

さらにタイプ変換機能が表示されますhere

関連する問題