在java中parsingmathexpression式的好库是什么?

我是Android开发人员,作为下一个应用程序的一部分,我需要评估各种用户创build的mathexpression式和方程。 我正在寻找一个很好的java库,它是轻量级的,可以使用用户定义的variables和常量,trig和指数函数等来评估mathexpression式。

我环顾四周, Jep似乎很受欢迎,但我想听到更多的build议,尤其是之前使用过这些库的人。

  • 在android中parsingJSONstring
  • 如何mdpi,hdpi,xhdpi文件夹的作品?
  • 无法parsingAppCompatActivity
  • 电子书分析器(.azw,.mobi,epub)?
  • replace标准的Android JSONparsing器以获得更好的性能?
  • Android中的JSONparsing
  • NetworkOnMainThread
  • 确定多个Android屏幕尺寸/密度的图像大小
  • JEval是一个很好的select。 我放弃了Jep,因为它变成了商业。 唯一值得关注的是,JEval现在似乎有点hibernate(2008年最后一次发布)。

    我写了一个简单但function强大的mathexpression式评估器( Math Expression Evaluator) ,它是免费的,开源的。 主要优势在于速度快,手持设备是一件好事。 如果满足您的需求,欢迎您使用它。

    主要特点:

    • 基本的math运算符,具有推断的优先级(^ *×·/÷%+ – )。
    • 用括号显式优先。
    • 含括号的子expression式的隐式乘法。
    • 纠正指数(权力操作者)的右关联性。
    • 直接支持前缀为0x的hex数字。
    • 常量和variables。
    • 可扩展的运营商。
    • 可扩展的function。
    • 20 KiB的足迹。

    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)")); 

    尝试https://code.google.com/p/expressionoasis/ 。 这是一个可扩展的expression式评估框架,并将满足这样的要求。

    这并不完全符合我的初始条件,但我发现了一个用C ++编写的美妙的parsing器。 我试图找出Android的原生代码支持,看看我是否可以使用它。 这正是我需要的。

    这是该项目的文档。
    http://www.codeproject.com/KB/recipes/MathieuMathParser.aspx

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