0
String a = "a*3";
a = a.replace("a","45");
// a contains 45*3
如何將其轉換爲輸出135.00的DOUBLE?將包含算術符號的字符串轉換爲整數值
注:一個可以有任何arthimetic操作...(+, - ,/)
String a = "a*3";
a = a.replace("a","45");
// a contains 45*3
如何將其轉換爲輸出135.00的DOUBLE?將包含算術符號的字符串轉換爲整數值
注:一個可以有任何arthimetic操作...(+, - ,/)
簡單的辦法就是通過這關到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());
}
}
最多隻有一個操作員嗎? – Maljam
a可以有多個運算符......就像a =「((a + 3)* 4)」 – Gowtham
如果除法是這個字符串中的有效操作,則不能保證結果是int。 (只是把那個放在那裏) –