2011-12-23 3 views
-1

У меня есть кнопка «плюс» и «минус» для моего приложения Windows Form.Ошибка расчета для моего приложения Windows Form?

Нажав кнопку «Плюс», вы добавите, к примеру, 3.2 к нему, и нажатие на минус уменьшит 3,2 от него.

Значение может быть отрицательным.

Почему это иногда, когда я несколько раз нажимал кнопку «Плюс», и я начинаю уменьшать его, нажав кнопку «Минус», когда значение достигнет 0, оно не отображает 0, но отображает длинную строку чисел такие, как 8.88178419700

код для моих кнопок

private void btnMinus6_Click(object sender, EventArgs e) 
{ 
    total1 = total1 - 3.20; 
    lblTotal.Text = total1.ToString(); 
} 

он работает так же для кнопки плюса, Jus что добавляет вместо уменьшается.

Спасибо!

+1

Что такое тип данных 'total1'? –

+0

Тип данных является общим. – Thomas

+1

Нет, это только тип данных в Южной Калифорнии. Требуемое чтение: http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html –

ответ

1

Я бы использовал System.Decimal в качестве типа данных (числа с плавающей запятой, такие как System.Single и System.Double - это приближения).

Я бы также подтвердил, что ваш тип управления - это элемент управления System.Windows.Forms.Label (или вы используете сторонний элемент управления, например, из DevExpress ... если это так, есть много свойств, которые могут вас смириться с уважением для форматирования)

т.е.

private System.Decimal total1 = 0.0; 

private void btnMinus6_Click(object sender, EventArgs e) 
{  
total1 -= 3.20;  
lblTotal.Text = total1.ToString(); 
} 

private void btnPlus_Click(object sender, EventArgs e) 
{  
total1 += 3.20;  
lblTotal.Text = total1.ToString(); 
} 
+0

Я использую управление меткой. могу я знать, в чем разница между использованием system.decimal против использования double? – Thomas