使用按钮减小double值会使其返回0. C#

时间:2018-01-09 17:07:03

标签: c#

我正在使用文本框来显示数量。使用2个按钮我想增加或减少一个值。到目前为止增量是有效的,但是当我尝试递减相同的值时,它会将其重新设置为0而不是从5增加到4。

ListBox

这是我正在使用的代码。

2 个答案:

答案 0 :(得分:3)

您正在使用while循环。这意味着它会递减值,直到它变为0。

将您的while更改为if,它应该按预期工作。

private void button3_Click(object sender, EventArgs e)
{
    double val = double.Parse(textBox1.Text);
    if (val != 0)
        val--;
    textBox1.Text = val.ToString();
}

答案 1 :(得分:2)

您正在使用while构建val-- util 0

在您的情况下,您只需要这样做:

private void button3_Click(object sender, EventArgs e) {
    double val = double.Parse(textBox1.Text);
    if (val > 0)
      val--;
    textBox1.Text = val.ToString();
}

此外,我建议您使用double.TryParse方法。因此,您无需添加try ... catch语句:

private void button3_Click(object sender, EventArgs e) {
    double val;
    bool perseOk = double.TryParse(textBox1.Text, out val);
    if (perseOk && val > 0) {
      val--;
    } else {
      val = 0;
    }
    textBox1.Text = val.ToString();
}