![](/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.