C# 数学字符串Asp.net C的计算结果

C# 数学字符串Asp.net C的计算结果,c#,math,asp-classic,C#,Math,Asp Classic,我需要在Visual Studio Web Developer Asp C中制作一个基于表单的计算器 我有一个文本框,显示单击按钮的值,包括+,-,/,* 现在我想让它计算文本框的字符串值,如果可能的话 编辑:我知道JS使用evalstringholdername有一种非常简单的方法来实现这一点;但是对于ASP C,我似乎找不到任何与此等效的方法。深入研究,它是一个开源的数学表达式计算器。您可以使用一些简单的递归方法,例如: public int Calculate(string exp

我需要在Visual Studio Web Developer Asp C中制作一个基于表单的计算器 我有一个文本框,显示单击按钮的值,包括+,-,/,*

现在我想让它计算文本框的字符串值,如果可能的话


编辑:我知道JS使用evalstringholdername有一种非常简单的方法来实现这一点;但是对于ASP C,我似乎找不到任何与此等效的方法。深入研究,它是一个开源的数学表达式计算器。

您可以使用一些简单的递归方法,例如:

    public int Calculate(string expression)
    {
        int result = 0;
        string[] expressions = expression.Split('+');
        if (expressions.Length > 1)
        {
            result = 0;
            foreach (string expr in expressions)
                result += Calculate(expr);
            return result;
        }
        expressions = expression.Split('-');
        if (expressions.Length > 1)
        {
            result = Calculate(expressions[0]);
            for (int i = 1; i < expressions.Length; i++)
                result -= Calculate(expressions[i]);
            return result;
        }
        expressions = expression.Split('*');
        if (expressions.Length > 1)
        {
            result = 1;
            foreach (string expr in expressions)
                result *= Calculate(expr);
            return result;
        }
        expressions = expression.Split('/');
        if (expressions.Length > 1)
        {
            result = Calculate(expressions[0]);
            for (int i = 1; i < expressions.Length; i++)
                result /= Calculate(expressions[i]);
            return result;
        }

        if (!int.TryParse(expression, out result))
            throw new ArgumentException("Expression was not nummeric", "expression");

        return result;
    }
int result = Calculate("20*10+200/100");

祝您好运。

Asp经典版是VB脚本。这是可能的,而且应该非常简单。询问的次数超过了我在这个框中所能容纳的次数。。。因为我不知道我是否被允许使用它们,所以没有插件就没有办法做到这一点。@DinoPrašo它不是一个插件,它是一个库DLL,你可以简单地利用它。如果这是一个学校作业,你应该提到,所以我们不会给你一个简单的答案:不要重新发明轮子,用这个,这个,或者这个代替!