我无法在Android计算器中获得正确的答案

时间:2019-12-18 06:29:44

标签: java android calculator

我已经按照步骤创建了我的计算器应用程序,当我按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);
        }
    });

1 个答案:

答案 0 :(得分:0)

/运算符的优先级高于+。您输入的表达式等于100+(6/100)。另外,您不需要以下行:process = process.replaceAll("(6%)","*0.06");,因为所有%已被替换。