"c# formula from string" Code Answer's

You're definitely familiar with the best coding language C# that developers use to develop their projects and they get all their queries like "c# formula from string" answered properly. Developers are finding an appropriate answer about c# formula from string related to the C# coding language. By visiting this online portal developers get answers concerning C# codes question like c# formula from string. Enter your desired code related query in the search bar and get every piece of information about C# code related question on c# formula from string. 

c# formula from string

By Fragile FalconFragile Falcon on Feb 27, 2021
public static double Evaluate(string expr)
    {
        expr = expr.ToLower();
        expr = expr.Replace(" ", "");
        expr = expr.Replace("true", "1");
        expr = expr.Replace("false", "0");

        Stack<String> stack = new Stack<String>();

        string value = "";
        for (int i = 0; i < expr.Length; i++)
        {
            String s = expr.Substring(i, 1);
            // pick up any doublelogical operators first.
            if (i < expr.Length - 1)
            {
                String op = expr.Substring(i, 2);
                if (op == "<=" || op == ">=" || op == "==")
                {
                    stack.Push(value);
                    value = "";
                    stack.Push(op);
                    i++;
                    continue;
                }
            }

            char chr = s.ToCharArray()[0];

            if (!char.IsDigit(chr) && chr != '.' && value != "")
            {
                stack.Push(value);
                value = "";
            }
            if (s.Equals("("))
            {
                string innerExp = "";
                i++; //Fetch Next Character
                int bracketCount = 0;
                for (; i < expr.Length; i++)
                {
                    s = expr.Substring(i, 1);

                    if (s.Equals("(")) bracketCount++;

                    if (s.Equals(")"))
                    {
                        if (bracketCount == 0) break;
                        bracketCount--;
                    }
                    innerExp += s;
                }
                stack.Push(Evaluate(innerExp).ToString());
            }
            else if (s.Equals("+") ||
                     s.Equals("-") ||
                     s.Equals("*") ||
                     s.Equals("/") ||
                     s.Equals("<") ||
                     s.Equals(">"))
            {
                stack.Push(s);
            }
            else if (char.IsDigit(chr) || chr == '.')
            {
                value += s;

                if (value.Split('.').Length > 2)
                    throw new Exception("Invalid decimal.");

                if (i == (expr.Length - 1))
                    stack.Push(value);

            }
            else
            {
                throw new Exception("Invalid character.");
            }

        }
        double result = 0;
        List<String> list = stack.ToList<String>();
        for (int i = list.Count - 2; i >= 0; i--)
        {
            if (list[i] == "/")
            {
                list[i] = (Convert.ToDouble(list[i - 1]) / Convert.ToDouble(list[i + 1])).ToString();
                list.RemoveAt(i + 1);
                list.RemoveAt(i - 1);
                i -= 2;
            }
        }

        for (int i = list.Count - 2; i >= 0; i--)
        {
            if (list[i] == "*")
            {
                list[i] = (Convert.ToDouble(list[i - 1]) * Convert.ToDouble(list[i + 1])).ToString();
                list.RemoveAt(i + 1);
                list.RemoveAt(i - 1);
                i -= 2;
            }
        }
        for (int i = list.Count - 2; i >= 0; i--)
        {
            if (list[i] == "+")
            {
                list[i] = (Convert.ToDouble(list[i - 1]) + Convert.ToDouble(list[i + 1])).ToString();
                list.RemoveAt(i + 1);
                list.RemoveAt(i - 1);
                i -= 2;
            }
        }
        for (int i = list.Count - 2; i >= 0; i--)
        {
            if (list[i] == "-")
            {
                list[i] = (Convert.ToDouble(list[i - 1]) - Convert.ToDouble(list[i + 1])).ToString();
                list.RemoveAt(i + 1);
                list.RemoveAt(i - 1);
                i -= 2;
            }
        }
        stack.Clear();
        for (int i = 0; i < list.Count; i++)
        {
            stack.Push(list[i]);
        }
        while (stack.Count >= 3)
        {
            double right = Convert.ToDouble(stack.Pop());
            string op = stack.Pop();
            double left = Convert.ToDouble(stack.Pop());

            if (op == "<") result = (left < right) ? 1 : 0;
            else if (op == ">") result = (left > right) ? 1 : 0;
            else if (op == "<=") result = (left <= right) ? 1 : 0;
            else if (op == ">=") result = (left >= right) ? 1 : 0;
            else if (op == "==") result = (left == right) ? 1 : 0;

            stack.Push(result.ToString());
        }
        return Convert.ToDouble(stack.Pop());
    }

Source: stackoverflow.com

Add Comment

0

All those coders who are working on the C# based application and are stuck on c# formula from string can get a collection of related answers to their query. Programmers need to enter their query on c# formula from string related to C# code and they'll get their ambiguities clear immediately. On our webpage, there are tutorials about c# formula from string for the programmers working on C# code while coding their module. Coders are also allowed to rectify already present answers of c# formula from string while working on the C# language code. Developers can add up suggestions if they deem fit any other answer relating to "c# formula from string". Visit this developer's friendly online web community, CodeProZone, and get your queries like c# formula from string resolved professionally and stay updated to the latest C# updates. 

C# answers related to "c# formula from string"

View All C# queries

C# queries related to "c# formula from string"

c# formula from string c# recursion formula for the factorial cannot implicitly convert type 'system.threading.tasks.task string ' to 'string' c# c# can conver string to string[] c# string equals ignore case convert string array to int C# unity to string how to convert int to string unity c# write string multiple times c# c# string to float convert int to string in linq query c# remove control characters from string c# find class property with string C# C# converting to string examples c# $ string c# date string format yyyy-mm-dd c# how to get connection string from app config convert string to boolean c# c# public static string find first occurrence of character in string parsing string to int without format exception c# c# trim string c# iterate over string how to put double quotes in a string c# vb.net single quote in string frombody string in web api c# c# string to control name c# string with slash vb.net remove non numeric characters from string stack overflow c# convert string to int c# remove all whitespaces from string c# Search specified string inside textbox c# how to get a securestring from string best practice c# check if string is null or whitespace invert string c# int to binary string with 4 characters c# e.userstate to string c# find the smallest string in an array of strings C# check something is string unity insert variable into string c# empty string[] string trin c# c# execute code from string C# string array in setter vb.net remove last comma from string how to create a string in c# asp.net get query string parameter mvc string format c# regex extract string between brackets c# C# read text from a certain line number from string C# Check whether the String is a palindrome or not. pem file string reader c# c# convert string to enum value c# string contain double quote convert xml string to file c# Unity Reverse string how to retrive an enum string value instead of number in c# controller unity parse string to enum c# declare inline string array compose graphql query string in c# parse persian date string to datetime c# how to convert c# string to pdf how clear all line in text file and write new string in c# api query string - ASP.NET core MVC wpf bind image source to string string.split c# stack overflow how to read reportview query string asp.net c# transformar de string a int c# compute shader.setfloat(string name, val) error ienumerable to string c# How to get 4 end len in string c# to string c# fields asp.net render control to string c# oracle insert date as string c# list to string replace last comma with and como converter String para xml c# c# string.compare replace first occurrence of character in string c# trim all string properties c# connection string of bulk insert with csv in c# c# Jobject to string get connection string from web.config in c# double quotes in a string c# c# get string from texbox line reference a class by string unity attribute decorator to require email format of string c# c# properties making string required listbox items to string c# dictionary string list int c# calculate string length vs pixels c# c# linq aggregate string builder return every digit on a string c# vb.net tostring numeric format string declare string array c# without size c# replace regex string C#: casting string to enum object c# get class name as string string split c# for each line in string c# c# get string in parentheses c# reverse a string and case how to check if a string contains a capital letter c# c# convert ad objectguid to string C# a program to reverse each word in the given string. String parameter too long.' c# C# string is all zeros C# program to find the longest Palindrome in a string. c# reduce a collection to a string how to write a method that returns a string that copies itself times n max occuring character in a string lexicographically string interpolation count max occuring character in string python byte array to hex string classic asp integer to string get the first letter of a string unity list of objects to string c# Convert string int Linq

Browse Other Code Languages

CodeProZone