1

我想将 textbox1(int) 乘以 textbox2(double) 并在 textbox3 中返回一个 double 我正在做一个 Invoice 应用程序,需要将数量乘以费率来获得数量到目前为止我有这个......

private void textbox2_TextChanged(object sender, system.EventArgs e)
{
 int32 qty = int32.Parse(Textbox1.text);
 Double rate = Double.Parse(Textbox2.text);
 Double amt = qty * rate;
 textbox3.text = amt.ToString();
}

我哪里错了?

4

3 回答 3

4

首先,您需要检查第一个文本框是否为空或空格。然后,如果您的第一个文本框为空或空白,则向用户提供适当的消息。

试试下面的例子:

if (!string.IsNullOrWhiteSpace(Textbox1.text))
{
    int qty = Int32.Parse(Textbox1.text);
    double rate = Double.Parse(Textbox2.text);
    Textbox3.text = (rate* (double) qty).ToString();
}
else
{
    //Give appropriate message to user for entering quantity in textbox 1
}
于 2012-12-27T09:59:14.377 回答
1

试试这个

  textBox3.Text = (Int32.Parse(textBox1.Text) * Double.Parse(textBox2.Text)).ToString();
于 2012-12-27T09:54:12.480 回答
0

首先关。当你处理金钱时,总是使用十进制,而不是双精度。对于小数,用户使用逗号和点作为小数分隔符总是存在问题。

这段代码对我有用:

    int qty = Int32.Parse("2");
    Decimal rate = Decimal.Parse("3.14".Replace(".", ","));
    Decimal amt = qty * rate;
    Console.WriteLine(amt);
于 2012-12-27T09:50:57.590 回答