将int乘以双c#[关闭]

问题描述 投票:1回答:3

我想将textbox1(int)乘以textbox2(double)并在textbox3中返回一个双重身份我正在做一个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();
}

我哪里错了?

c# .net operators
3个回答
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
投票

试试吧

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

0
投票

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

这段代码对我有用:

    int qty = Int32.Parse("2");
    Decimal rate = Decimal.Parse("3.14".Replace(".", ","));
    Decimal amt = qty * rate;
    Console.WriteLine(amt);
© www.soinside.com 2019 - 2024. All rights reserved.