-4

我试图将我的数量和价格文本框中的值相乘,然后将其传递到一个总文本框中,每次按下添加按钮时都会更新。以下是我迄今为止尝试过的。

如何让它在我的总文本框中显示产品并累积它?例如,在数量 4 和价格 4 时,它显示为 16,然后如果我输入数量 2 和价格 2,它将显示为 20。

private void add_btn_Click(object sender, EventArgs e)
    {
        try
        {
            if (customer_textBox.Text == "")
            {
                MessageBox.Show(
                    "Please enter valid Customer");
            }
            if (quantity_textBox.Text == "")
            {
                MessageBox.Show(
                    "Please enter valid Quantity");
            }
            if (price_per_item_textBox.Text == "")
            {
                MessageBox.Show(
                    "Please enter valid Price");
            }
            else
            {
                decimal total = Decimal.Parse(total_textBox.Text);
                total = int.Parse(quantity_textBox.Text) * int.Parse(price_per_item_textBox.Text);
                total += total;
                total_textBox.Text = total.ToString();
            }
            quantity_textBox.Clear();
            customer_textBox.Clear();
            price_per_item_textBox.Clear();
            item_textBox.Clear();
        }
        catch (FormatException)
        {

        }
        total_textBox.Focus();


    }
4

1 回答 1

3

改变这个

decimal total = Decimal.Parse(total_textBox.Text);
total = int.Parse(quantity_textBox.Text) * int.Parse(price_per_item_textBox.Text);
total += total;
total_textBox.Text = total.ToString();

对此

total = currentTotal + (decimal.Parse(quantity_textBox.Text) * decimal.Parse(price_per_item_textBox.Text));
total_textBox.Text = total.ToString("C");

并创建一个类级变量private decimal currentTotal;

不需要第一行,因为您只需在第四行重新分配文本框的值。我假设每件商品的价格是一个decimal价值(例如 1.99 美元)。将其解析为 anint将失去精度(例如,1.99 美元将变为 1)。将 an 乘以 anintint将返回 an int,$1.99 * 2 将变为 1 * 2,即 2 而不是 $3.98。

于 2013-04-28T23:16:07.130 回答