我有一个像下面这样的字符串:
String str = "4*5";
Run Code Online (Sandbox Code Playgroud)
现在我必须20通过使用字符串来获得结果.
我知道在其他一些语言中,这个eval()功能会做到这一点.我怎么能用Java做到这一点?
设计数学解析器最聪明的方法是什么?我的意思是一个函数,它接受一个数学字符串(如:"2 + 3/2 +(2*5)")并返回计算值?我在VB6很久以前写过一个,但它最终变得臃肿而且不太便携(或者说很聪明......).一般的想法,伪造的代码或真正的代码表示赞赏.
我是Android开发人员,作为我的下一个应用程序的一部分,我将需要评估各种用户创建的数学表达式和方程式.我正在寻找一个很好的java库,它是轻量级的,可以使用用户定义的变量和常量,trig和指数函数等来评估数学表达式.
我环顾四周,Jep似乎很受欢迎,但我希望听到更多的建议,特别是那些之前使用过这些库的人.