如何使用十进制数Android Studio创建TextView

时间:2017-12-07 19:52:27

标签: java android android-studio textview decimal

我是Android SDK编程的初学者。

我所拥有的是一个计算器,当我按下计算按钮时它不显示小数,如果有任何方法可以显示它?如果我没有填写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);
        }
    });

1 个答案:

答案 0 :(得分:0)

您正在使用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