0
我正在使用Javascript引擎來比較值。值可以是雙精度或日期。 (字符串)使用JavaScript引擎比較日期
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
// Date value is populated dynamically here
engine.eval("dateValue = " + "01/02/2012");
// The condition is populated dynamically here
if ((Boolean) engine.eval("dateValue <=" + "12/31/2012")) {
System.out.println("TRUE");
} else {
System.out.println("FALSE");
}
上面的代碼可以很好地處理double值,但會給日期帶來錯誤的結果。對於上面的例子,它應該顯示TRUE,但是它顯示FALSE。請幫忙。
感謝您的答覆。我試過這個,但它在線程「main」中拋出異常異常com.sun.phobos.script.util.ExtendedScriptException:org.mozilla.javascript.EvaluatorException:missing;在行號1 – 2012-07-13 19:37:42
的之前的語句(<未知源>#1)嘗試在if腳本末尾處的';'現在更新 –
2012-07-13 19:39:59
否則,您可以將此值賦給變量並獲取通過引擎對象的變量。 – 2012-07-13 19:40:36