C#, решить ошибку: system.formatexception: "входная строка имела неверный формат." программа сначала работает нормально: пользователь пишет первое число, выбирает оперцию( +, -, *, /), затем вводит следующее число, и при нажатии кнопки =, программа екстренно завершает работу с ошибкой. using system; using system.collections.generic; using system.componentmodel; using system.data; using system.drawing; using system.linq; using system.text; using system.threading.tasks; using system.windows.forms; namespace culsy { public partial class form1 : form { public form1() { initializecomponent(); } float a, b; int count; bool znak = true; private void form1_load(object sender, eventargs e) { } private void textbox1_textchanged(object sender, eventargs e) { } private void button1_click(object sender, eventargs e) { textbox1.text = textbox1.text + 1; } private void button2_click(object sender, eventargs e) { textbox1.text = textbox1.text + 2; } private void button3_click(object sender, eventargs e) { textbox1.text = textbox1.text + 3; } private void button4_click(object sender, eventargs e) { textbox1.text = textbox1.text + 4; } private void button5_click(object sender, eventargs e) { textbox1.text = textbox1.text + 5; } private void button6_click(object sender, eventargs e) { textbox1.text = textbox1.text + 6; } private void button7_click(object sender, eventargs e) { textbox1.text = textbox1.text + 7; } private void button8_click(object sender, eventargs e) { textbox1.text = textbox1.text + 8; } private void button9_click(object sender, eventargs e) { textbox1.text = textbox1.text + 9; } private void button10_click(object sender, eventargs e) { textbox1.text = textbox1.text + 0; } private void button11_click(object sender, eventargs e) { textbox1.text = textbox1.text + ","; } private void button12_click(object sender, eventargs e) { a = float.parse(textbox1.text); textbox1.clear(); count = 1; textbox1.text = a.tostring() + "+"; znak = true; } private void button13_click(object sender, eventargs e) { a = float.parse(textbox1.text); textbox1.clear(); count = 2; textbox1.text = a.tostring() + "-"; znak = true; } private void button14_click(object sender, eventargs e) { a = float.parse(textbox1.text); textbox1.clear(); count = 3; textbox1.text = a.tostring() + "*"; znak = true; } private void textbox1_keypress(object sender, keypresseventargs e) { char number = e.keychar; if (! char.isdigit(number)) { e.handled = true; } } private void culsy() { switch (count) { case 1: b = a + float.parse(textbox1.text); textbox1.text = b.tostring(); break; case 2: b = a - float.parse(textbox1.text); textbox1.text = b.tostring(); break; case 3: b = a * float.parse(textbox1.text); textbox1.text = b.tostring(); break; case 4: b = a / float.parse(textbox1.text); textbox1.text = b.tostring(); break; default: break; } } private void button16_click(object sender, eventargs e) { culsy(); textbox1.text = ""; } private void label1_click(object sender, eventargs e) { } private void button15_click(object sender, eventargs e) { a = float.parse(textbox1.text); textbox1.clear(); count = 4; textbox1.text = a.tostring() + "/"; znak = true; } } }
namespace Culsy{ public partial class Form1 : Form { public Form1() { InitializeComponent(); }
float a, b,z; int count; string znak = ""; int slo, vich, umn, del; private void Form1_Load(object sender, EventArgs e) {
}
private void button1_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 1; }
private void button2_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 2; }
private void button3_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 3; }
private void button4_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 4; }
private void button5_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 5; }
private void button6_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 6; }
private void button7_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 7; }
private void button8_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 8; }
private void button9_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 9; }
private void button10_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + 0; }
private void button11_Click(object sender, EventArgs e) { textBox1.Text = textBox1.Text + ","; }
private void button12_Click(object sender, EventArgs e) { a = float.Parse(textBox1.Text); textBox1.Clear(); slo = 1; znak = " + "; }
private void button13_Click(object sender, EventArgs e) { a = float.Parse(textBox1.Text); textBox1.Clear(); vich = 1; znak = " - "; }
private void button14_Click(object sender, EventArgs e) { a = float.Parse(textBox1.Text); textBox1.Clear(); umn = 1; znak = " * ";
}
private void button15_Click(object sender, EventArgs e) { a = float.Parse(textBox1.Text); textBox1.Clear(); del = 1; znak = " / "; }
private void button16_Click(object sender, EventArgs e) { b = float.Parse(textBox1.Text); if (slo == 1) { z = a + b; } if (vich == 1) { z = a - b; } if (umn == 1) { z = a * b; } if (del == 1) { if (b == 0) { z = a / b; } else { textBox1.Text = "Деление на 0"; } }
textBox1.Text = a.ToString() + znak + b.ToString() + " = " + z.ToString(); }
}}Упрощено для надежной работы