抛出异常:System.FormatException
mscorlib.dll
{"输入字符串的格式不正确。"}
我整天都在这。请帮忙!以上是btw的错误信息。我对C#有点新意,所以我可以使用更详细的答案(我不能很好地使用行话)
public partial class Form1 : Form
{
double a, b, d, f, g, t;
string z;
int c;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, System.EventArgs e)
{
}
private void button7_Click(object sender, EventArgs e)
{
a = Convert.ToDouble(textBox18.Text);
z = Convert.ToString(comboBox1);
d = Convert.ToDouble(checkBox1);
f = Convert.ToDouble(textBox13.Text);
g = Convert.ToDouble(textBox14.Text);
t = Convert.ToDouble(textBox19.Text);
if (z == "a")
{
textBox15.Text = Convert.ToString(a * g * d * t);
}
else if (z == "b")
{
textBox15.Text = Convert.ToString(c);
}
}
答案 0 :(得分:0)
这些可能是可能的问题,
给定的输入可能不是那些可以转换为double的格式
a = Convert.ToDouble(textBox18.Text);
z = Convert.ToString(comboBox1.SelectedValue);
d = Convert.ToDouble(checkBox1.Checked);
f = Convert.ToDouble(textBox13.Text);
g = Convert.ToDouble(textBox14.Text);
t = Convert.ToDouble(textBox19.Text);
或者可能应该是
z = Convert.ToString(comboBox1.SelectedValue);
d = Convert.ToDouble(checkBox1.Checked);
答案 1 :(得分:0)
您需要从Controls获取值而不是解析控件本身,
喜欢 - >对于组合框,它应该是comboBox.SelectedValue
答案 2 :(得分:0)
问题在于这一行:
textBox15.Text = Convert.ToString(a * g * d * t);
因为你将d与其他值相乘而d包含不同类型的值,因为checkbox1没有返回正确的值
首先,您应该以正确的格式获取复选框的值,如:
d= Convert.ToDouble(comboBox.SelectedValue)