public static string ContinuedCoeffToString(WWComplex c, string variableString) { if (c.EqualValue(new WWComplex(1, 0))) { return(string.Format(" +{0}", variableString)); } if (c.EqualValue(new WWComplex(-1, 0))) { return(string.Format(" -{0}", variableString)); } if (c.imaginary == 0) { if (c.real < 0) { return(string.Format(" {0}{1}", c.real, variableString)); } else { return(string.Format(" +{0}{1}", c.real, variableString)); } } if (c.EqualValue(new WWComplex(0, 1))) { return(string.Format(" +{0}{1}", WWComplex.imaginaryUnit, variableString)); } if (c.EqualValue(new WWComplex(0, -1))) { return(string.Format(" -{0}{1}", WWComplex.imaginaryUnit, variableString)); } if (c.real == 0) { if (c.imaginary < 0) { return(string.Format(" {0}{1}{2}", c.imaginary, WWComplex.imaginaryUnit, variableString)); } else { return(string.Format(" +{0}{1}{2}", c.imaginary, WWComplex.imaginaryUnit, variableString)); } } return(string.Format(" +({0}){1}", c, variableString)); }
/// <summary> /// 1乗以上の項の係数項の表示。 /// </summary> public static string FirstCoeffToString(WWComplex c, string variableString) { if (c.EqualValue(new WWComplex(1, 0))) { return(variableString); // 係数を表示せず、変数のみ表示する。 } if (c.EqualValue(new WWComplex(-1, 0))) { return(string.Format("-{0}", variableString)); } if (c.imaginary == 0) { // 実数。 return(string.Format("{0}{1}", c.real, variableString)); } if (c.EqualValue(new WWComplex(0, 1))) { return(string.Format("{0}{1}", WWComplex.imaginaryUnit, variableString)); } if (c.EqualValue(new WWComplex(0, -1))) { return(string.Format("-{0}{1}", WWComplex.imaginaryUnit, variableString)); } if (c.real == 0) { // 純虚数。 return(string.Format("{0}{1}{2}", c.imaginary, WWComplex.imaginaryUnit, variableString)); } // 純虚数ではない虚数。 return(string.Format("({0}){1}", c, variableString)); }