我正在尝试将数量和价格文本框中的值相乘,然后将其传递到每次按下添加按钮时将更新的总文本框中。以下是我到目前为止所尝试的内容。
如何在整个文本框中显示产品并累积产品?例如。在数量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();
}
答案 0 :(得分: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美元)。将其解析为int
将失去精度(例如,1.99美元将变为1)。将int
乘以int
也会返回int
,$ 1.99 * 2将变为1 * 2,这将只是2而不是$ 3.98。