如何用小数制作TextView Android Studio

How to make TextView with decimal numbers Android Studio

我是AndroidSDK编程的初学者

我有一个计算器,当我按下计算按钮时它不显示小数,是否有任何方法可以做到这一点?如果我没有填写 EditText 也会崩溃。

    Button cal;
EditText n1,n2,n3;
TextView answer;

int x,y,r,z;

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

    answer = (TextView)findViewById(R.id.res);
    n1 = (EditText)findViewById(R.id.n1);
    n2 = (EditText)findViewById(R.id.n2);
    n3 = (EditText)findViewById(R.id.n3);
    cal = (Button)findViewById(R.id.calc);

    cal.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            x=Integer.parseInt(n1.getText().toString());
            y=Integer.parseInt(n2.getText().toString());
            z=Integer.parseInt(n3.getText().toString());
            r=(x+y+z)/3;

            answer.setText("" + r);
        }
    });

您正在使用 Integer.parseInt ,要获得小数使用 Double.parseDouble

将此设置为编辑文本 -

n1.setInputType(InputType.TYPE_CLASS_NUMBER);
n2.setInputType(InputType.TYPE_CLASS_NUMBER);
n3.setInputType(InputType.TYPE_CLASS_NUMBER);

只有当编辑文本有值时用户才能计算的崩溃放置检查

cal.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        if(!n1.getText().toString().isEmpty()&&!n2.getText().toString().isEmpty()&&!n3.getText().toString().isEmpty())
        calculateResult();
 else{ //show error message
      }

    }
});



public void calculateResult()
{
      x=Double.parseDouble(n1.getText().toString());
        y=Double.parseDouble(n2.getText().toString());
        z=Double.parseDouble(n3.getText().toString());
        r=(x+y+z)/3;

        answer.setText("" + r);
 }

并将 x,y,z,r 的数据类型更改为 double