我需要能夠在我的應用程序中處理數學公式,例如「(45 + 9)/ 8」。我只想用JavaScript評估它,但意識到我不能在Android中使用javax.script。所以,我找到了WebView,但使用它有點麻煩。大多數示例都指向使用JS代碼的外部頁面,或者使用「javascript:var return ...等」。我需要使用後者,但是將變量返回給我的應用程序時遇到了一些麻煩。在Android中執行數學公式
是否有可能讓JS評估它,然後將值寫入隱藏的TextView?
我需要能夠在我的應用程序中處理數學公式,例如「(45 + 9)/ 8」。我只想用JavaScript評估它,但意識到我不能在Android中使用javax.script。所以,我找到了WebView,但使用它有點麻煩。大多數示例都指向使用JS代碼的外部頁面,或者使用「javascript:var return ...等」。我需要使用後者,但是將變量返回給我的應用程序時遇到了一些麻煩。在Android中執行數學公式
是否有可能讓JS評估它,然後將值寫入隱藏的TextView?
更高級的表達有趣的選項,可以把some online calculator成一個Web服務,您可以從您的手機使用。
試試這個:
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.swing.JOptionPane;
private void btnEqualsActionPerformed(java.awt.event.ActionEvent evt) {
String expression = txtResult.getText();
ScriptEngineManager mgr = new ScriptEngineManager();
ScriptEngine engine = mgr.getEngineByName("JavaScript");
try {
result = engine.eval(expression).toString();
txtResult.setText(result);
} catch (Exception e) {
JOptionPane.showMessageDialog(null, txtResult.getText() + " cannot be calculated. Try again!", "Error on calculation!", JOptionPane.WARNING_MESSAGE);
txtResult.setText("");
}
}
哥們,沒有必要的JavaScript。所有你需要的是標準的Java來計算數學方程。 – 2012-04-05 04:59:36
我將它用於用戶輸入的方程式。這意味着我必須能夠評估一個字符串。 – Rhyono 2012-04-05 22:03:58