【问题标题】:convert String containing a arithmetic sign into a integer value [duplicate]将包含算术符号的字符串转换为整数值[重复]
【发布时间】:2016-03-21 18:50:18
【问题描述】:
    String a = "a*3";
    a = a.replace("a","45");

    // a contains 45*3

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

注意:a 可以有任何算术运算... ( + , - , /)

【问题讨论】:

标签: java string


【解决方案1】:

最简单的解决方案是将其传递给 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());
    }
}

【讨论】:

    猜你喜欢
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    • 1970-01-01
    相关资源
    最近更新 更多