【问题标题】:Making a calculation according to the BODMAS in C# [closed]根据 C# 中的 BODMAS 进行计算 [关闭]
【发布时间】:2013-11-26 07:27:22
【问题描述】:

伙计们,我有一个用户在文本框中构建的计算。 简而言之,他定义了他想要的格式,然后(在一些数据库查询之后)传递值。

例如。 (X + Y) * 55

或者他也可以像

(X - 100) * 100

有没有办法用 c# 计算这个?

注意:X 和 Y 是从数据库中检索的。

【问题讨论】:

  • 你以前构建过字符串/脚本解析器吗?
  • @rhughes,不,我没有。
  • 这基本上需要创建一个小型脚本解析器。根据您的时间,您可以研究像 Lua 这样的预构建的,或者创建自己的。你的时间怎么样?
  • 我有 26 小时的时间。

标签: c# calculator


【解决方案1】:

看看http://NCalc.Codeplex.com

它是一个易于使用且可扩展的 C# 计算引擎

如何使用的例子是:

 Expression e = new Expression("2 + 3 * 5");
  Debug.Assert(17 == e.Evaluate());

【讨论】:

  • 断言用于验证(如果我没有错)评估是真还是假。我不需要这个,我需要一种方法来实际评估表达式。
  • 当然,所以只需调用 string results = e.Evaluate().ToString()
  • 或者如果你需要双重使用 double result = Convert.ToDouble(e.Evaluate());
【解决方案2】:

如果不为您做,您可以查看 here 以获取有关在 C# 中使用 Lua 的信息。

对于另一种方法,您可以创建一个像this 这样的系统,它可以创建一个实际的计算器。您可以通过添加 () 按钮来扩展它来首先计算它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    • 2020-09-02
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多