Java 如果结果数字是计算器中的整数,如何从结果中删除.0
我正在android studio中制作一个android计算器。但是,在我的计算器中,当结果是一个完整的数字时,数字显示为十进制0。 例如,如果我加上9和11,结果显示为20.0 那么,如何从结果中删除完整数字的.0(例如:-10,24) 这是我的MainActivity.javaJava 如果结果数字是计算器中的整数,如何从结果中删除.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.
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.
}