2

即使是非常基本的东西也可以。就像输入和评估像 x+1 这样的东西,其中 x 是我要指定的变量。

我正在考虑为每个公式编写自己的字符串,使用正则表达式来解析它们等等,但是让我们假设我的目标是尽可能地懒惰,并且如果有另一种选择(尤其是正式的) ),我宁愿先尝试使用它。

有什么东西可以做这样的事情吗?

4

8 回答 8

4

我知道以下库:

于 2008-12-31T16:17:23.600 回答
3

您可以考虑使用Java 6 中的脚本。参考 JDK 带有一个 JavaScript 实现,您也可以插入其他语言。

于 2008-12-31T11:59:24.543 回答
1

几年前我成功地使用了JEP,它似乎仍在积极开发中。我相信他们在那些日子里有一个更宽松的许可证,但它可能比自己编码便宜(取决于你的确切需求和技能)。

于 2008-12-31T13:31:28.880 回答
1

我已经为我自己构建了一个 java 库来作为 Lex/YACC 的学习示例。它被合并到一个更大的项目中,似乎运行良好。如果我要重新开始更大的项目,我会遵循上面的建议并使用 Java 脚本引擎。

于 2008-12-31T15:33:27.247 回答
1

您可以尝试LibFormula,这是一个基于 OpenDocument 的 OpenFormula 标准的公式计算库。

OpenFormula 是为电子表格应用程序编写的,并使用接近 Excel 公式的语法。更多信息可以在Pentaho-Wiki中找到

样本:

=[x]+1
于 2009-01-02T00:34:09.387 回答
0

您可以查看我在Apache License 2.0下发布的exp4j。它实现了 dijkstra 的调车场算法,并且适用于多变量函数,如f(x,foo)=log(foo^(x^-1))

于 2011-05-25T18:12:39.727 回答
0

有些人可能对名为formula4j的新工具感兴趣。

它是商业的,所以它并不适合所有人。

于 2013-02-15T00:48:32.660 回答
-1

也许MathML

MathML 是一种低级规范,用于将数学描述为机器对机器通信的基础,它为在网页中包含数学表达式提供了急需的基础。在发布科学和技术工作流程以及必须通过软件处理数学的任何地方,它也很重要。例如,新版本改进了数学的可访问性,以及从右到左书写的语言公式。基本标记保持不变,因为社区有七年的经验。

于 2008-12-31T12:00:19.127 回答