码迷,mamicode.com
首页 > 编程语言 > 详细

js和java将字符串转成算术表达式

时间:2017-11-17 14:50:27      阅读:754      评论:0      收藏:0      [点我收藏+]

标签:var   inpu   space   img   字符串   manage   keyword   images   .com   

====>java

import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;

public static void test1() throws ScriptException {
  String str = "(a >= 0 && a <= 5)";
  ScriptEngineManager manager = new ScriptEngineManager();
  ScriptEngine engine = manager.getEngineByName("js");
  engine.put("a", 6);
  Object result = engine.eval(str);
  System.out.println("结果类型:" + result.getClass().getName() + ",计算结果:" + result);
}
public static void test2() throws ScriptException {
  String str = "43*(2 + 1.4)+2*32/(3-2.1)";
  ScriptEngineManager manager = new ScriptEngineManager();
  ScriptEngine engine = manager.getEngineByName("js");
  Object result = engine.eval(str);
  System.out.println("结果类型:" + result.getClass().getName() + ",计算结果:" + result);
}


public static void main(String[] args) {
  try {
    test1();
    test2();
  } catch (ScriptException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
  }
}

 

jdk1.6中可以直接这样用

 

=========>js

<input type="text" id="text1" value="4" />
<input type="text" id="text2" value="9" />
<input type="text" id="text3" value="5" />
<input type="text" id="text4" value="6" />
<input type="text" id="text5" value="2" />
<input type="button" value="计算" onclick="func();" />
<script type="text/javascript">
function func() {
    var str = "(A+B+C)*D/E";
    var A = parseFloat(document.getElementById("text1").value);
    var B = parseFloat(document.getElementById("text2").value);
    var C = parseFloat(document.getElementById("text3").value);
    var D = parseFloat(document.getElementById("text4").value);
    var E = parseFloat(document.getElementById("text5").value);
    var num = eval(str);
    alert(num);   
}
</script>

 例如:

技术分享

技术分享

 

js和java将字符串转成算术表达式

标签:var   inpu   space   img   字符串   manage   keyword   images   .com   

原文地址:http://www.cnblogs.com/niannianbuwang/p/7851083.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!