将包含算术符号的String转换为整数值

时间:2016-03-21 18:50:18

标签: java string

    String a = "a*3";
    a = a.replace("a","45");

    // a contains 45*3

如何将其转换为输出135.00的DOUBLE?

注意:a可以进行任何关节活动...(+, - ,/)

1 个答案:

答案 0 :(得分:5)

最简单的解决方案是将其传递给Java内置的JavaScript引擎。

public class Eval {

    public static void main(String[] args) throws ScriptException {
        ScriptEngine engine = new ScriptEngineManager().getEngineByExtension("js");

        engine.put("a", 45);
        Number val = (Number) engine.eval("a*3");
        System.out.println(val.doubleValue());
    }
}