Exemple #1
0
        internal string ToHTML()
        {
            string result = string.Empty;

            if (VariableName.Contains("Log"))
            {
                Log log = Log.ParseFromHTML(VariableName);
                for (int i = Odds.Count() - 1; i >= 0; i--)
                {
                    log.SetPower(i);
                    if (Odds[i] != (double)0)
                    {
                        result += Odds[i] > (Fraction)0 ? "+" : "-";
                        result += i < Odds.Count() - 1 ? " " : "";
                        result += Odds[i].Abs() > (Fraction)1 || i == 0 ? $"{Odds[i].Abs()}" : "";
                        result += i > 0 ? $"{log.ToHTML()} " : "";
                    }
                }
            }
            else if (VariableName.Contains("power"))
            {
                VariableName = VariableName.Replace("power", "");
                PowerFunc powerFunc = PowerFunc.ParseFromHTML(VariableName);
                for (int i = Odds.Count() - 1; i >= 0; i--)
                {
                    powerFunc.SetPower(i);
                    if (Odds[i] != (double)0)
                    {
                        result += Odds[i] > (Fraction)0 ? "+" : "-";
                        result += i < Odds.Count() - 1 ? " " : "";
                        if (Odds[i].IntDenominator == 0)
                        {
                            result += Odds[i].Abs() != (Fraction)1 || i == 0 ? $"{Odds[i].Abs()}{(i != 0 ? "⋅" : "")}" : "";
                        }
                        else
                        {
                            result += Odds[i].Abs() != 1 || i == 0 ? $"{Odds[i].Abs().ToHTML()}{(i != 0 ? "⋅" : "")}" : "";
                        }
                        result += i > 0 ? $"{powerFunc.ToHTML()} " : "";
                    }
                }
            }
            else
            {
                for (int i = Odds.Count() - 1; i >= 0; i--)
                {
                    if (Odds[i] != (double)0)
                    {
                        result += Odds[i] > (Fraction)0 ? "+" : "-";
                        result += i < Odds.Count() - 1 ? " " : "";
                        result += Odds[i].Abs() > (Fraction)1 || i == 0 ? $"{Odds[i].Abs()}" : "";
                        result += i > 0 ? $"{VariableName}" : "";
                        result += i > 1 ? $"<sup>{i}</sup> " : " ";
                    }
                }
            }
            result = result.Trim('+');
            result = result.Trim(' ');
            return($"{result}");
        }