如何将 TextView 的值转换为整数
How do I convert the value of a TextView to integer
我正在设计一个基本的 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;
}
}
}
}
首先,从 textview
到 int
的转换是 NOT。 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();
}
为了您的理解,我对其进行了简化。代码还是可以优化的。
我正在设计一个基本的 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;
}
}
}
}
首先,从 textview
到 int
的转换是 NOT。 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();
}
为了您的理解,我对其进行了简化。代码还是可以优化的。