Calc是一个用Java编写的算术表达式计算工具。它能够直接解析一个字符串形式的算术表达式并计算出结果。
Calc使用下面的语法:
E -> I | E + I | E - I
I -> U | I * U | I / U
U -> + U | - U | <浮点数> | ( E ) | <函数> | PI | E
其中,<浮点数>是一个符合java规范格式的10进制浮点数,PI是圆周率,E是自然对数的底。
<函数>实现了一些常用函数,函数的一般形式是:
<函数名> ( <参数>... )
参数也是一个表达式(即E),可用的函数列表则请参考图形界面或java.lang.Math的帮助文档。
Calc内部使用双精度浮点型(double)进行运算,一个正确的表达式经Calc计算所得的结果应该等于相应java表达式的结果。
示例代码:
import yyq.prod.calc.Calculator;
...
double result = Calculator.calc("1 + 2 + sin(1)");
System.out.println(result);
转自http://www.blogjava.net/20070716/archive/2011/02/12/185527.html