1

我正在设计一个基本的 BMI 计算器并且我的计算器正在工作,但是我需要将计算得到的答案从一个双精度的 TextView 转换为一个整数,以使我能够根据计算得到的答案使用 <> 运算符进行正确的陈述。
如何将 TextView 中的答案转换为整数?

    v.findViewById(R.id.bmi).setOnClickListener(this);

    return v;
}

public void onClick(View v) {

    switch (v.getId()) {

        case R.id.bmi:

            try {


                EditText w = (EditText) getView().findViewById(R.id.w);
                String value = w.getText().toString();
                EditText h = (EditText) getView().findViewById(R.id.h);
                String value1 = h.getText().toString();

                TextView ans = (TextView) getView().findViewById(R.id.ans);
                Double l1 = Double.parseDouble(value);
                Double l2 = Double.parseDouble(value1);
                ans.setText(Double.toString(l1 / (l2 * l2)));                                     

            }
            catch (Exception e)
            {
                new AlertDialog.Builder(getActivity()).setNeutralButton("OK",null).setMessage("ALL FIELDS ARE REQUIRED TO COMPUTE YOUR BMI! ").show();
                break;
            }

    }

}
}
4

1 回答 1

1

首先,转换不是from textviewto int。textView 不是数据类型。如果您想要 int 使用parseInt()方法中的结果。int i = Integer.parseInt(value).

[编辑]

试试这个,这会奏效。

TextView tv = (TextView) findViewById(R.id.tv);
EditText et = (EditText) findViewById(R.id.et);

try {
double d = Double.valueOf(String.valueOf(et.getText()));
tv.setText(String.valueOf( (int) d));
}catch (NumberFormatException e){
Toast.makeText(MainActivity.this, "Enter valid number.", Toast.LENGTH_SHORT).show();
}

为了您的理解,我已经简化了它。代码仍然可以优化。

于 2015-12-27T15:05:15.040 回答