![](/img/trans.png)
[英]C# what am I doing wrong ? Exception thrown: 'System.FormatException' in mscorlib.dll line 90 and 231
[英]C# Exception thrown: 'System.FormatException' in mscorlib.dll
抛出异常: mscorlib.dll
System.FormatException
{“输入字符串的格式不正确。”}
我整天都在这。 请帮忙! 以上是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);
}
}
这可能是可能的问题,
给定的输入可能不是那些可以转换为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);
您需要从Controls获取值而不是解析控件本身,
喜欢 - > for combobox它应该是comboBox.SelectedValue
问题出在这一行:
textBox15.Text = Convert.ToString(a * g * d * t);
因为您将d与其他值相乘并且d包含不同类型的值,因为checkbox1不返回正确的值
首先,您应该以正确的格式获取复选框的值,如:
d= Convert.ToDouble(comboBox.SelectedValue)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.