我正在尝试创建一个MPG转换,用户输入他们的里程数作为一个整数,他们的升数量是他们的汽车加倍。单击submit
按钮将按升计算英里数,并为我提供MPG数字。
我的代码:
final EditText mileage = (EditText) findViewById(R.id.Mileage);
final EditText litres = (EditText) findViewById(R.id.litres);
final Button mpg = (Button) findViewById(R.id.submit_MPG);
final TextView result = (TextView) findViewById(R.id.mpg_result);
mpg.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Integer miles = Integer.parseInt(mileage.toString());
Double litre = Double.parseDouble(litres.toString());
Double answer = Double.parseDouble(result.getText().toString());
answer = miles / litre;
result.setText(answer);
}
});
我的问题是我正在努力将用户输入转换为双精度和整数,然后将结果设置为textview。
我的AC:
提前谢谢!
答案 0 :(得分:2)
问题是你实际上没有转换:
public void onClick(View v) {
int miles = Integer.parseInt(mileage.getText().toString());
double litre = Double.parseDouble(litres.getText().toString());
double answer = (double)miles / litre;
result.setText((""+answer));
...
在此,我使用(double)miles / litre
进行转换,然后将TextView
文本设置为答案。
答案 1 :(得分:1)
您没有从edittext
检索值,要检索该值,请使用getText()
Integer miles = Integer.parseInt(mileage.getText().toString());
Double litre = Double.parseDouble(litres.getText().toString());
而不是
Integer miles = Integer.parseInt(mileage.toString());
Double litre = Double.parseDouble(litres.toString());
不需要
Double answer = Double.parseDouble(result.getText().toString());
答案 2 :(得分:0)
只需使用mileage.getText().toString()