我想将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();
}
我哪里错了?
答案 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);