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.tkk7.com/Files/20070716/calc.zip
部分source下載:
http://www.tkk7.com/Files/20070716/calc_src.zip