2014-06-29 3 views
-1

Я пытаюсь заставить мою программу иметь возможность делать несколько транзакций подряд. Вот мой код, который я до сих пор:Checkbook Program в VB 2010

Public Class checkbook 

    Dim transAmount As Decimal 
    Dim newBalance As Decimal 
    Dim Balance As Decimal 
    Dim deposit As Decimal 
    Dim check As Decimal 
    Dim service As Decimal 

    Private Sub ExitButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ExitButton.Click 
     Me.Close() 
    End Sub 

    Private Sub AboutButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles AboutButton.Click 
     MessageBox.Show("Program: Checkbook Version 1.0 Company: JWEED Description: Updates Balance") 
    End Sub 

    Private Sub CalcButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles CalcButton.Click 
     Balance = Decimal.Parse(BalanceTextBox.Text) 
     transAmount = Decimal.Parse(AmountTextBox1.Text) 

     If DepositRadioButton.Checked Then 
      deposit = (Balance + transAmount) 
      Balance = deposit 
     ElseIf CheckRadioButton.Checked Then 
      check = Balance - transAmount 
      If check < 0 Then 
       check = check - 10 
       MessageBox.Show("Error: Negavtive Balance") 
       Balance = check 
      ElseIf check > 0 Then 
       Balance = check 
      End If 
     ElseIf ServiceRadioButton.Checked Then 
      service = Balance - (10 + transAmount) 
      Balance = service 
     End If 

     BalanceTextBox.Text = Balance.ToString("C") 
     AmountTextBox1.Text = transAmount.ToString("C") 
    End Sub 
End Class 

Он говорит мне, что есть проблема с форматом мой баланс после того как я сделать первую сделку и попытаться сделать второй.

+0

Вы должны включить фактическое исключение/ошибку вместо перефразируя его. Я уверен, что у него есть ценная информация. – indivisible

+0

Это сообщение об ошибке: Строка ввода не была в правильном формате. – user3533298

+0

Какая строка кода бросает вашу ошибку? Положите точку останова на нее и внимательно посмотрите на значение, которое вы пытаетесь проанализировать. –

ответ

0

Вы должны форматировать ваш баланс/количество с символом валюты, как это, пожалуйста, попробуйте изменить следующие строки:

Balance = Decimal.Parse(BalanceTextBox.Text, NumberStyles.Currency) 
    transAmount = Decimal.Parse(AmountTextBox1.Text, NumberStyles.Currency) 

Кроме того, я хотел бы предложить вам инициализировать 2 значения с Currency слишком

Reference : Problem parsing currency text to decimal type