如何将字符串转换为Int?

时间:2015-07-28 08:07:22

标签: c#

我有三个文本框,一个输入小时,一个数字和一个电价和一个按钮 但每当我尝试在文本框中输入值时,我都有一个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());

5 个答案:

答案 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);