2013-12-03 1 views
-1

Я новичок в этом, поэтому, пожалуйста, будьте терпеливы, у меня возникают проблемы с добавлением в данный момент. Я пытаюсь сделать так, чтобы каждый раз, когда вы нажимаете кнопку, она добавляет 5 к общей сумме. Может кто-нибудь мне помочь?C# У вас возникли проблемы с добавлением

Это класс кассой:

public string cash1() 
{ 
    return "5"; 
} 

Это код при нажатии на кнопку:

CashBox fivepence; 
fivepence = new CashBox(); 
txtMoney.Text = txtMoney.Text + fivepence.cash1(); 
total1 = total1 + double.Parse(txtMoney.Text); 

Если кнопка нажата три раза исход 555 не 15. Любая помощь был бы очень признателен !!

+1

Что не работает? –

+4

Всякий раз, когда вы задаете вопрос о SO, обязательно напишите, в чем проблема. – Rotem

+1

Действительно? У нас есть тег 'add'? Есть люди, заинтересованные конкретно в вопросах, связанных с добавлением чисел? – Rotem

ответ

3

Вы должны сделать что-то в обратном порядке: сначала сделать добавление, а затем обновить пользовательский интерфейс с результатом. Прежде всего, измените cash1 на return 5 (целое число, а не строка). Затем:

// do the math 
var subtotal = double.Parse(txtMoney.Text) + fivepence.cash1(); 

// update the user interface 
txtMoney.Text = subtotal.ToString(); 

// update total1, whatever that is 
total1 += subtotal; 
+0

это блестяще спасибо вам большое – cdj

1

Вам необходимо вернуть целое число 5, а не строку. Ваш текущий метод вернет строку, и результатом будет объединение строк, а не целочисленное добавление. Попробуйте:

public int cash1() 
    { 
     return 5; 
    } 

А потом:

txtMoney.Text = (double.Parse(txtMoney.Text) + fivepence.cash1()).ToString(); 
total1 = total1 + double.Parse(txtMoney.Text); //or total1 += double.Parse(txtMoney.Text); 
+0

не должен ли он передавать значение в строку, прежде чем назначать его в свойство «Text»? –

+0

@Bartdude, не совсем уверен, но я добавил его – Habib

+0

Вы не можете выразить выражение в 'string', так как это' double'. Вместо этого используйте '.ToString()'. Это '(double.Parse (txtMoney.Text) + fivepence.cash1()). ToString()'. –

 Смежные вопросы

  • Нет связанных вопросов^_^