Пример #1
0
        private double MathOp(ContentElement firstDigit, ContentElement secondDigit, ContentElement operation)
        {
            double summ = 0;
            double firstDigitEl;
            double secondDigitEl;

            if (firstDigit.IsIndex())
            {
                firstDigitEl = DigitValue(new CellIndex(firstDigit.Text()));
            }
            else
            {
                firstDigitEl = firstDigit.Value();
            }
            if (secondDigit.IsIndex())
            {
                secondDigitEl = DigitValue(new CellIndex(secondDigit.Text()));
            }
            else
            {
                secondDigitEl = secondDigit.Value();
            }
            try
            {
                switch (operation.Text())
                {
                case "+":
                {
                    summ = firstDigitEl + secondDigitEl;
                    break;
                }

                case "-":
                {
                    summ = secondDigitEl - firstDigitEl;
                    break;
                }

                case "*":
                {
                    summ = secondDigitEl * firstDigitEl;
                    break;
                }

                case "/":
                {
                    summ = secondDigitEl / firstDigitEl;
                    break;
                }

                case "^":
                {
                    summ = Math.Pow(secondDigitEl, firstDigitEl);
                    break;
                }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Ошибка: " + ex.Message + " Математическая опперация не выполнилась!");
            }

            return(summ);
        }