【问题标题】:How can I parse math operator from string in c#如何从 C# 中的字符串解析数学运算符
【发布时间】:2016-02-28 09:07:44
【问题描述】:

我有一个这样的下拉菜单

                    @Html.DropDownList("Operator", new List<SelectListItem>
                {
                    new SelectListItem() {Text = "/", Value = "/", Selected = true},
                    new SelectListItem() {Text = "*", Value = "*"},
                    new SelectListItem() {Text = "+", Value = "+"},
                    new SelectListItem() {Text = "-", Value = "-"}
                }, new {@Class = "form-control", @Id = "Operator"})

在我的操作方法中,我想使用 var1 Operator var2。 当 Operator = "+" 时假设 10 Operator 15 = 25 有可能吗?

【问题讨论】:

  • 没有内置方法(尽管您可以搜索“C#评估数学表达式”——它可能会给您一些想法)。如果您不需要完整的数学表达式评估,那么您可以使用简单的switch(或Func&lt;Double, Double, Double&gt; 中的map/Dictionary)来完成这项工作。

标签: c# asp.net-mvc


【解决方案1】:

最近我正在使用开源库来解析作为字符串提供的数学表达式。解析器/评估器名称是 mXparser。

http://mxparser.codeplex.com/

http://mathparser.org/

例子:

Expression e = new Expression("2+3/(4+1)");
double v = e.calculate();

另外 - 这个软件也使用 mXparser - 你可以学习语法 Scalar Calculator app

最好的问候

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-27
    • 1970-01-01
    • 2019-08-25
    • 1970-01-01
    • 2013-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多