什么';java中解析数学表达式的好库是什么?

什么';java中解析数学表达式的好库是什么?,java,android,math,parsing,Java,Android,Math,Parsing,我是一名Android开发者,作为我下一个应用程序的一部分,我需要评估大量用户创建的数学表达式和方程式。我正在寻找一个好的java库,它是轻量级的,可以使用用户定义的变量和常量、触发器和指数函数等来计算数学表达式 我环顾四周,似乎很受欢迎,但我想听听更多的建议,特别是以前使用过这些库的人的建议。是一个很好的选择。我放弃了杰普,因为它变得商业化了。唯一令人担忧的是,JEval目前似乎有点不活跃(上一次发布于2008年)。我不久前写了一篇简单但功能强大的文章,它是免费的、开源的。它的主要优点是速度快

我是一名Android开发者,作为我下一个应用程序的一部分,我需要评估大量用户创建的数学表达式和方程式。我正在寻找一个好的java库,它是轻量级的,可以使用用户定义的变量和常量、触发器和指数函数等来计算数学表达式


我环顾四周,似乎很受欢迎,但我想听听更多的建议,特别是以前使用过这些库的人的建议。

是一个很好的选择。我放弃了杰普,因为它变得商业化了。唯一令人担忧的是,JEval目前似乎有点不活跃(上一次发布于2008年)。

我不久前写了一篇简单但功能强大的文章,它是免费的、开源的。它的主要优点是速度快,体积小,这两个都是手持设备的优点。如果它满足您的需要,欢迎您使用它

主要特点:
  • 基本数学运算符,具有推断优先级(^*×·/÷%+-)
  • 带括号的显式优先级
  • 括号内子表达式的隐式乘法
  • 更正指数的右关联性(幂运算符)
  • 直接支持前缀为0x的十六进制数字
  • 常量和变量
  • 可扩展运算符
  • 可扩展函数
  • 20千磅的足迹
例子
<>这不完全符合我的初始条件,但我发现了一个用C++编写的精彩解析器。我正试图找出Android的本地代码支持,看看我是否可以使用它。这正是我需要的

这是该项目的文档。

有一个新的商业工具叫做,可能会引起一些人的兴趣。

试试。这是一个可扩展的表达式评估框架,可以满足这些要求。

很好,但我需要对更高级的函数和表达式的支持。我尝试了这个,它似乎工作得很好。又好又简单。谢谢除非代码发布在这里,否则答案不是。您的答案可以通过列出此库的一些功能或解释它与其他现有库的比较来改进。
MathEval math=new MathEval();

math.setVariable("Top",    5);
math.setVariable("Left",  20);
math.setVariable("Bottom",15);
math.setVariable("Right", 60);

System.out.println("Middle: "+math.evaluate("floor((Right+1-Left)/2)"));