2016-01-23 1 views
0

Калькулятор работает, когда я добавляю несколько номеров, но он не работает, когда я вычитаю, умножаю или разделяю несколько чисел. Я не уверен, какую кодировку я должен сделать для этих операций. Даже если я изменю эту строку кода (total1=total1 + Val(txtAnswer.Text)) to (total1=total1 - Val(txtAnswer.Text)) из процедуры кнопок, она по-прежнему не работаетВычитание, умножение, деление нескольких чисел на калькулятор с использованием VB.Net 2010

Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click    'Add Button 
    Operation = "+" 
    txtDisplay.Text = txtDisplay.Text & btnAdd.Text 
    txtAnswer.Text = txtAnswer.Text & btnAdd.Text 
    total1 = total1 + Val(txtAnswer.Text) 
    txtAnswer.Clear() 
End Sub 

Private Sub btnMinus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMinus.Click 'Minus Button 
    Operation = "-" 
    txtDisplay.Text = txtDisplay.Text & btnMinus.Text 
    txtAnswer.Text = txtAnswer.Text & btnMinus.Text 
    total1 = total1 + Val(txtAnswer.Text) 
    txtAnswer.Clear() 
End Sub 

Private Sub btnMulti_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnMulti.Click 'Multiply Button 
    Operation = "x" 
    txtDisplay.Text = txtDisplay.Text & btnMulti.Text 
    txtAnswer.Text = txtAnswer.Text & btnMulti.Text 
    total1 = total1 + Val(txtAnswer.Text) 
    txtAnswer.Clear() 
End Sub 

Private Sub btnDiv_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDiv.Click 'Divide Button 
    Operation = "/" 
    txtDisplay.Text = txtDisplay.Text & btnDiv.Text 
    txtAnswer.Text = txtAnswer.Text & btnDiv.Text 
    total1 = total1 + Val(txtAnswer.Text) 
    txtAnswer.Clear() 
End Sub 

Private Sub btnEqu_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEqu.Click 
    Select Case Operation 
     Case "+" 
      total2 = total1 + Val(txtAnswer.Text) 
      txtAnswer.Text = total2 
      total1 = 0 
     Case "-" 
      total2 = total1 - Val(txtAnswer.Text) 
      txtAnswer.Text = total2 
      total1 = 0 
     Case "x" 
      total2 = total1 * Val(txtAnswer.Text) 
      txtAnswer.Text = total2 
      total1 = 0 
     Case "/" 
      total2 = total1/Val(txtAnswer.Text) 
      txtAnswer.Text = total2 
      total1 = 0 
    End Select 
End Sub 

ответ

0

Попробуйте изменить VAL для CDbl() для преобразования значений в два раза (с плавающей запятой) чисел. Используйте также VARIABLES для получения значений и только после этого поместите их в текстовые поля.

что-то вроде:

Dim x as double = 0 
Dim y as double = 0 
Dim z as double = 0 

' Convert string to Double number 
Z = cdbl(total1)/cdbl(txtanswer.txt) 
Y = z *2 
x = (y/z) 

TxtAnswer.text = X.tostring 
TxtAnswer.text = Z.tostring 

Смотрите ниже:

Dim Total1 as double = 0 


    Select Case Operation 
     Case "+" 
     total2 = total1 + cdbl(txtAnswer.Text) 
     txtAnswer.Text = total2.Tostring 
     total1 = 0 
     Case "-" 
     total2 = total1 - cdbl(txtAnswer.Text) 
     txtAnswer.Text = total2.Tostring 
     total1 = 0 
     Case "x" 
     total2 = total1 * cdbl(txtAnswer.Text) 
     txtAnswer.Text = total2.Tostring 
     total1 = 0 
     Case "/" 
     total2 = total1/cdbl(txtAnswer.Text) 
     txtAnswer.Text = total2.Tostring 
     total1 = 0 
    End Select 
Смежные вопросы