将int乘以双c#

时间:2012-12-27 09:44:02

标签: c# .net operators

我想将textbox1(int)乘以textbox2(double)并在textbox3中返回一个double 我正在做一个发票应用程序,需要将数量乘以速率到目前为止我得到的数量......

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();
}

我哪里错了?

3 个答案:

答案 0 :(得分:2)

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

尝试以下示例:

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
}

答案 1 :(得分:1)

试试这个

  textBox3.Text = (Int32.Parse(textBox1.Text) * Double.Parse(textBox2.Text)).ToString();

答案 2 :(得分:0)

首先关闭。当你处理钱时,总是使用小数,而不是双倍。 对于小数,用户同时使用逗号和点作为小数分隔符始终存在问题。

此代码对我有用:

    int qty = Int32.Parse("2");
    Decimal rate = Decimal.Parse("3.14".Replace(".", ","));
    Decimal amt = qty * rate;
    Console.WriteLine(amt);