Java 如果结果数字是计算器中的整数,如何从结果中删除.0

Java 如果结果数字是计算器中的整数,如何从结果中删除.0,java,android,android-studio,Java,Android,Android Studio,我正在android studio中制作一个android计算器。但是,在我的计算器中,当结果是一个完整的数字时,数字显示为十进制0。 例如,如果我加上9和11,结果显示为20.0 那么,如何从结果中删除完整数字的.0(例如:-10,24) 这是我的MainActivity.java package com.example.calculator; import androidx.appcompat.app.AppCompatActivity; import android.content.

我正在android studio中制作一个android计算器。但是,在我的计算器中,当结果是一个完整的数字时,数字显示为十进制0。 例如,如果我加上9和11,结果显示为20.0

那么,如何从结果中删除完整数字的.0(例如:-10,24)

这是我的MainActivity.java

 package com.example.calculator;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import com.faendir.rhino_android.RhinoAndroidHelper;

import org.mozilla.javascript.Context;
import org.mozilla.javascript.Scriptable;
import org.mozilla.javascript.ast.Scope;



public class MainActivity extends AppCompatActivity {


    Button btn0,btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btnPercent,btnPlus,btnMinus,btnMultiply,btnDivision,btnEqual,btnClear,btnDot,btnBracket,btnBackspace;
    TextView tvInput,tvOutput;
    String process;
    boolean checkBracket = false;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        btn0 = findViewById(R.id.btn0);
        btn1 = findViewById(R.id.btn1);
        btn2 = findViewById(R.id.btn2);
        btn3 = findViewById(R.id.btn3);
        btn4 = findViewById(R.id.btn4);
        btn5 = findViewById(R.id.btn5);
        btn6 = findViewById(R.id.btn6);
        btn7 = findViewById(R.id.btn7);
        btn8 = findViewById(R.id.btn8);
        btn9 = findViewById(R.id.btn9);

        btnPlus = findViewById(R.id.btnPlus);
        btnMinus = findViewById(R.id.btnMinus);
        btnDivision = findViewById(R.id.btnDivision);
        btnMultiply = findViewById(R.id.btnMultiply);

        btnEqual = findViewById(R.id.btnEqual);

        btnClear = findViewById(R.id.btnClear);
        btnDot = findViewById(R.id.btnDot);
        btnPercent = findViewById(R.id.btnPercent);
        btnBracket = findViewById(R.id.btnBracket);
        btnBackspace = findViewById(R.id.btnBackspace);



        tvInput = findViewById(R.id.tvInput);
        tvOutput = findViewById(R.id.tvOutput);

        btnClear.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tvInput.setText("");
                tvOutput.setText("");
            }
        });


        btn0.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process = tvInput.getText().toString();
                tvInput.setText(process + "0");
            }
        });

        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process = tvInput.getText().toString();
                tvInput.setText(process + "1");
            }
        });

        btn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process = tvInput.getText().toString();
                tvInput.setText(process + "2");
            }
        });

        btn3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process = tvInput.getText().toString();
                tvInput.setText(process + "3");
            }
        });

        btn4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process = tvInput.getText().toString();
                tvInput.setText(process + "4");
            }
        });

        btn5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process = tvInput.getText().toString();
                tvInput.setText(process + "5");
            }
        });

        btn6.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process = tvInput.getText().toString();
                tvInput.setText(process + "6");
            }
        });

        btn6.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process = tvInput.getText().toString();
                tvInput.setText(process + "6");
            }
        });

        btn7.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process = tvInput.getText().toString();
                tvInput.setText(process + "7");
            }
        });

        btn8.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process = tvInput.getText().toString();
                tvInput.setText(process + "8");
            }
        });

        btn9.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process = tvInput.getText().toString();
                tvInput.setText(process + "9");
            }
        });

        btnPlus.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process = tvInput.getText().toString();
                tvInput.setText(process + "+");
            }
        });


        btnMinus.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process = tvInput.getText().toString();
                tvInput.setText(process + "-");
            }
        });

        btnMultiply.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process = tvInput.getText().toString();
                tvInput.setText(process + "×");
            }
        });

        btnDivision.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process = tvInput.getText().toString();
                tvInput.setText(process + "÷");
            }
        });

        btnDot.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process = tvInput.getText().toString();
                tvInput.setText(process + ".");
            }
        });

        btnPercent.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process = tvInput.getText().toString();
                tvInput.setText(process + "%");
            }
        });

        btnBracket.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if (checkBracket){
                    process = tvInput.getText().toString();
                    tvInput.setText(process + ")");
                    checkBracket = false;
                }else{
                    process = tvInput.getText().toString();
                    tvInput.setText(process + "(");
                    checkBracket = true;
                }

            }
        });

        btnBackspace.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                String str=tvInput.getText().toString();
                if (str.length() >=1 ) {
                    str = str.substring(0, str.length() - 1);
                    tvInput.setText(str);
                } else if (str.length() <=1 ) {
                    tvInput.setText("0");
                }
            }
        });

        btnEqual.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process = tvInput.getText().toString();

                process = process.replaceAll("×","*");
                process = process.replaceAll("%","/100");
                process = process.replaceAll("÷","/");

                Context rhino = Context.enter();

                rhino.setOptimizationLevel(-1);

                String finalResult = "";

                try {
                    Scriptable scriptable = rhino.initStandardObjects();
                    finalResult = rhino.evaluateString(scriptable,process,"javascript",1,null).toString();
                }catch (Exception e){
                    finalResult="0";
                }

                tvOutput.setText(finalResult);
            }
        });


    }
}
package com.example.calculator;
导入androidx.appcompat.app.appcompat活动;
导入android.content.Intent;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.Button;
导入android.widget.TextView;
导入com.faendir.rhino_android.rhinoandroid助手;
导入org.mozilla.javascript.Context;
导入org.mozilla.javascript.Scriptable;
导入org.mozilla.javascript.ast.Scope;
公共类MainActivity扩展了AppCompatActivity{
按钮btn0、btn1、btn2、btn3、btn4、btn5、btn6、btn7、btn8、btn9、btnPercent、btnPlus、btnMinus、btnMultiply、btnDivision、btnEqual、btnClear、btnDot、BTNbacket、btnBackspace;
text查看电视输入,电视输出;
串过程;
布尔检查括号=假;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn0=findViewById(R.id.btn0);
btn1=findViewById(R.id.btn1);
btn2=findViewById(R.id.btn2);
btn3=findViewById(R.id.btn3);
btn4=findViewById(R.id.btn4);
btn5=findViewById(R.id.btn5);
btn6=findViewById(R.id.btn6);
btn7=findViewById(R.id.btn7);
btn8=findViewById(R.id.btn8);
btn9=findViewById(R.id.btn9);
btnPlus=findviewbyd(R.id.btnPlus);
btnMinus=findviewbyd(R.id.btnMinus);
btnDivision=findviewbyd(R.id.btnDivision);
btnMultiply=findViewById(R.id.btnMultiply);
btnEqual=findViewById(R.id.btnEqual);
btnClear=findviewbyd(R.id.btnClear);
btnDot=findViewById(R.id.btnDot);
btnPercent=findViewById(R.id.btnPercent);
btnBracket=findviewbyd(R.id.btnBracket);
btnBackspace=findviewbyd(R.id.btnBackspace);
tvInput=findViewById(R.id.tvInput);
tvOutput=findViewById(R.id.tvOutput);
setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
tvInput.setText(“”);
tvOutput.setText(“”);
}
});
btn0.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
进程=tvInput.getText().toString();
tvInput.setText(进程+“0”);
}
});
btn1.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
进程=tvInput.getText().toString();
tvInput.setText(进程+“1”);
}
});
btn2.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
进程=tvInput.getText().toString();
tvInput.setText(进程+“2”);
}
});
btn3.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
进程=tvInput.getText().toString();
tvInput.setText(进程+“3”);
}
});
btn4.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
进程=tvInput.getText().toString();
tvInput.setText(进程+“4”);
}
});
btn5.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
进程=tvInput.getText().toString();
tvInput.setText(进程+“5”);
}
});
btn6.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
进程=tvInput.getText().toString();
tvInput.setText(进程+“6”);
}
});
btn6.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
进程=tvInput.getText().toString();
tvInput.setText(进程+“6”);
}
});
btn7.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
进程=tvInput.getText().toString();
tvInput.setText(进程+“7”);
}
});
btn8.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
进程=tvInput.getText().toString();
tvInput.setText(进程+“8”);
}
});
btn9.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
进程=tvInput.getText().toString();
tvInput.setText(进程+“9”);
}
});
btnPlus.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
进程=tvInput.getText().toString();
tvInput.setText(进程+“+”);
}
});
btnMinus.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
进程=tvInput.getText().toString();
tvInput.setText(进程+“-”);
}
});
btnMultiply.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
过程=t
if(result == (int)result){
    DecimalFormat df = new DecimalFormat("0")
    return df.format(result);
}
return result;
if (finalResult % 1 == 0){

  //then the finalResult is a whole number.

}