負の数字を現すマイナス記号(-)は単項の演算子ではなく、マイナス記号+数値で 一つのトークンとしています。従って、マイナスと数値の間にスペースを含んで いると例外がスローされます。また、定数や関数の前にマイナスをつけると 例外がスローされます。
double d = formulaEvaluator.dEvaluate("-1.5"); //正しいー double d = formulaEvaluator.dEvaluate("- 1.5"); //例外スロー double d = formulaEvaluator.dEvaluate("-sin(1.5)"); //例外スロー
関数名+括弧で一つのトークンとみなしていますので、関数名と括弧の間に スペースを入れる事は出来ません。
double d = formulaEvaluator.dEvaluate(" sin( 1.0 )"); //正しいー double d = formulaEvaluator.dEvaluate(" sin ( 1.0 )"); //例外スロー