我已经按照步骤创建了我的计算器应用程序,当我按下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);
}
});发布于 2019-12-18 14:35:13
/运算符的优先级高于+。您输入的表达式等于100+(6/100)。而且,您不需要这一行:process = process.replaceAll("(6%)","*0.06");,因为所有的%都已经被替换了。
https://stackoverflow.com/questions/59386571
复制相似问题