/// <summary> /// 解二次方程 /// </summary> /// <param name="textBox0">二次系数输入框</param> /// <param name="textBox1">一次系数输入框</param> /// <param name="textBox2">常数输入框</param> private void SolveEquation(FineUI.TextBox textBox0, FineUI.TextBox textBox1, FineUI.TextBox textBox2) { try { Equation equation; if (textBox0.Text == "0") { if (textBox1.Text == "0") { throw new BasicCalculatorException("请输入至少一个系数!"); } // 一次方程 equation = new OneDegreeEquation((int)float.Parse(textBox2.Text), float.Parse(textBox1.Text)); } else { //二次方程 equation = new TwoDegreeEquation(float.Parse(textBox2.Text), float.Parse(textBox1.Text), float.Parse(textBox0.Text)); } UpdateResult(equation); } catch (Exception et) { Result.Visible = true; Result.Text = et.Message; } }
private void SolveEquation(TextBox textBox0, TextBox textBox1, TextBox textBox2) { try { Equation equation; if (textBox0.Text == "0" && textBox1.Text == "0") { ScriptManager.RegisterStartupScript(this, this.GetType(), "", "alert('x的系数不可以全部为0!')", true); } if (textBox0.Text == "0") { equation = new OneDegreeEquation(1, float.Parse(textBox2.Text), float.Parse(textBox1.Text)); } else { equation = new TwoDegreeEquation(2, float.Parse(textBox2.Text), float.Parse(textBox1.Text), float.Parse(textBox0.Text)); } var stringBuilder = new StringBuilder("解有 " + equation.Result.Count + " 个, 是: "); foreach (var i in equation.Result) { stringBuilder.Append(i + ","); } stringBuilder.Remove(stringBuilder.Length - 1, 1); Result.Visible = true; Result.Text = stringBuilder.ToString(); } catch (Exception et) { Result.Visible = true; Result.Text = et.Message; } }