Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/221.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我能';在我的Android计算器中,我得不到正确的答案_Java_Android_Calculator - Fatal编程技术网

Java 我能';在我的Android计算器中,我得不到正确的答案

Java 我能';在我的Android计算器中,我得不到正确的答案,java,android,calculator,Java,Android,Calculator,我已经按照步骤创建了我的计算器应用程序,当我按下100+6%时,它应该是106.0,但它告诉我最终的计算结果是100.06,我错过了什么吗?多谢各位 Equal.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { process = Callayout.getText().toString();

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

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

您好,欢迎来到StackOverflow(SO)。查看您的代码,您的行
process=process.replaceAll(“%”,“/100”)
表明您看到的结果(100.06)是正确的,因为您输入的是
100+(6/100)
。为什么你希望看到106.0作为你的答案?非常感谢,如果我想做100+6%=106,我应该怎么做?如果我想做100+(100*(6/100)),我应该如何编辑方程式?