我需要能够在我的应用程序中处理数学公式,例如“(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