我已经按照步骤创建了我的计算器应用程序,当我按100 + 6%时,应该是106.0,但是它显示的是最终计算出的答案是100.06,我错过了什么吗?谢谢。
Equal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
process = Callayout.getText().toString();
process = process.replaceAll("%","/100");
process = process.replaceAll("x","*");
process = process.replaceAll("(6%)","*0.06");
Context rhino = Context.enter();
rhino.setOptimizationLevel(-1);
String finalans = "";
try{
Scriptable scriptable = rhino.initStandardObjects();
finalans = rhino.evaluateString(scriptable,process,"Javascript",1,null).toString();
}catch(Exception e){
finalans = "0";
}
Callayout.setText(finalans);
}
});
答案 0 :(得分:0)
/
运算符的优先级高于+
。您输入的表达式等于100+(6/100)
。另外,您不需要以下行:process = process.replaceAll("(6%)","*0.06");
,因为所有%
已被替换。