我想将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();
}
我哪里错了?
首先,您需要检查第一个文本框是否为空或空格。然后,如果您的第一个文本框为空或空格,则向用户提供相应的消息。
试试下面的例子:
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
}
试试吧
textBox3.Text = (Int32.Parse(textBox1.Text) * Double.Parse(textBox2.Text)).ToString();
首先。当你处理钱时,总是使用小数,而不是双倍。对于小数,用户同时使用逗号和点作为小数分隔符始终存在问题。
这段代码对我有用:
int qty = Int32.Parse("2");
Decimal rate = Decimal.Parse("3.14".Replace(".", ","));
Decimal amt = qty * rate;
Console.WriteLine(amt);