我正在为Android创建一个计算器,到目前为止它看起来已经完成了......问题是答案并不精确,加法,减法,乘法工作正常,因为通常不需要小数......当涉及到除法时答案被四舍五入到最接近的整数,而不是以十进制显示答案......所以我更改了 TextView 类型以显示小数并使用 float 而不是 int 作为包含答案的变量。结果是我最终得到一个带有“.00”的四舍五入整数:/请帮助!我的代码: MainActivity.java :
package in.rohanbojja.basiccalculator;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void add( View view){
EditText n1 = (EditText) findViewById(R.id.editText1);
EditText n2 = (EditText) findViewById(R.id.editText3);
TextView res = (TextView) findViewById(R.id.textView1);
String sn1 = n1.getText().toString();
String sn2 = n2.getText().toString();
String sres;
int in1 = Integer.parseInt(sn1);
int in2 = Integer.parseInt(sn2);
float ires;
ires = in1 + in2;
sres = Float.toString(ires);
res.setText(sres);
}
public void sub( View view ){
EditText n1 = (EditText) findViewById(R.id.editText1);
EditText n2 = (EditText) findViewById(R.id.editText3);
TextView res = (TextView) findViewById(R.id.textView1);
String sn1 = n1.getText().toString();
String sn2 = n2.getText().toString();
String sres;
int in1 = Integer.parseInt(sn1);
int in2 = Integer.parseInt(sn2);
float ires;
ires = in1 - in2;
sres = Float.toString(ires);
res.setText(sres);
}
public void mul( View view ){
EditText n1 = (EditText) findViewById(R.id.editText1);
EditText n2 = (EditText) findViewById(R.id.editText3);
TextView res = (TextView) findViewById(R.id.textView1);
String sn1 = n1.getText().toString();
String sn2 = n2.getText().toString();
String sres;
int in1 = Integer.parseInt(sn1);
int in2 = Integer.parseInt(sn2);
float ires;
ires = in1 * in2;
sres = Float.toString(ires);
res.setText(sres);
}
public void clr( View view ){
EditText n1 = (EditText) findViewById(R.id.editText1);
EditText n2 = (EditText) findViewById(R.id.editText3);
TextView res = (TextView) findViewById(R.id.textView1);
n1.setText("");
n2.setText("");
res.setText("Result");
}
public void div( View view){
EditText n1 = (EditText) findViewById(R.id.editText1);
EditText n2 = (EditText) findViewById(R.id.editText3);
TextView res = (TextView) findViewById(R.id.textView1);
String sn1 = n1.getText().toString();
String sn2 = n2.getText().toString();
String sres;
int in1 = Integer.parseInt(sn1);
int in2 = Integer.parseInt(sn2);
float ires;
ires = in1/in2;
sres = Float.toString(ires);
res.setText(sres);
}
}