だから私は、この基本的な電卓のことをやって、VB をもっと学ぼうとしています。このアプリには 3 つのテキスト ボックスがあり、ユーザーは 2 つの値 (各ボックスに 1 つ) を入力し、3 番目のボックス (+、-、、/) に演算子を入力します。
ここに、ユーザーが演算子を入力したかどうかを確認するメソッドがあります。
Private Function isOperator(ByVal textBox As TextBox, ByVal name As String)
Dim strOperatorList As String() = {"+", "-", "/", "*"}
If Not strOperatorList.Contains(textBox.Text) Then
MessageBox.Show(name & " does not contain a valid operator.", "Entry Error")
textBox.SelectAll()
Return False
Else
Return True
End If
End Function
そして、私はそれがうまくいっていると確信しています。ここでボタンクリックでエラーが発生します:
Try
If IsValidData() Then
Dim operand1 As Decimal = CDec(txtOperand1.Text)
Dim operand2 As Decimal = CDec(txtOperand2.Text)
Dim strOperator As Double = CDbl(txtOperator.Text)
Dim result As Decimal = operand1 + strOperator + operand2
txtResult.Text = result
End If
Catch ex As Exception
MessageBox.Show(ex.Message & vbCrLf & vbCrLf &
ex.GetType.ToString & vbCrLf & vbCrLf &
ex.StackTrace, "Exception")
End Try
エラーは次のとおりです。
Dim strOperator As string = txtOperator.Text
エラーは言う:
Conversion from string "+" to type Double is not valid.
文字列を double に変更し、テキスト ボックスを double にキャストしようとしましたが、それでも同じエラーが発生します。私はそれを間違って宣言しているだけですか?