我有三个文本框,一个输入小时,一个数字和一个电价和一个按钮 但每当我尝试在文本框中输入值时,我都有一个formatException。 我该怎么办呢? 每当我编译它运行良好但我无法输入值。 请帮忙。 谢谢!
int num1 = int.Parse(TextBox1.Text);
double num2 = double.Parse(TextBox2.Text;);
int num3 = int.Parse(TextBox3.Text;);
soln1 = num1 * num2 * num3;
MessageBox.Show(soln1.ToString());
答案 0 :(得分:2)
尝试将解析改为像这样转换
int num1 = Convert.ToInt32(TextBox1.Text);
double num2 = Convert.ToDecimal(TextBox2.Text;);
int num3 = Convert.ToInt32(TextBox3.Text;);
soln1 = num1 * num2 * num3;
MessageBox.Show(soln1.ToString());
答案 1 :(得分:0)
您正在尝试将double和整数相乘。 尝试将整数转换为double,并声明要将结果存储为double的变量。
如果它确实需要是一个整数,那么在计算后将其转换
答案 2 :(得分:0)
尝试
int num1 = int.Parse(TextBox1.Text);
double num2 = double.Parse(TextBox2.Text.Replace(".", ",")); // <----
int num3 = int.Parse(TextBox3.Text;);
soln1 = (int)(num1 * num2 * num3); // <----
MessageBox.Show(soln1.ToString());
答案 3 :(得分:0)
而不是使用解析使用TryParse,就像那样:
if (int.TryParse(TextBox1.Text,out num1) &&
double.TryParse(TextBox2.Text,out num2) &&
int.TryParse(TextBox3.Text,out num3))
{
soln1 = num1 * num2 * num3;
}
答案 4 :(得分:0)
尝试使用:
int num1 = integer.parseInt(TextBox1.Text);
double num2 = double.Parse(TextBox2.Text);
int num3 = Integer.ParseInt(TextBox3.Text);
soln1 = num1 * num2 * num3;
MessageBox.Show(soln1.ToString);