【发布时间】:2014-12-17 15:46:03
【问题描述】:
我创建了一个简单的 android 货币转换器应用程序,用户在其中输入欧元值,转换后的价格以其他货币显示。 但是如何将数字四舍五入到最接近的 50 美分?所以如果 1 欧元等于 1.3395 美元,我如何让应用程序显示 1.50 美元?
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final EditText editEuro = (EditText) findViewById(R.id.editEuro);
final EditText editAud = (EditText) findViewById(R.id.editAud);
final EditText editCad = (EditText) findViewById(R.id.editCad);
final EditText editNzd = (EditText) findViewById(R.id.editNzd);
final EditText editGbp = (EditText) findViewById(R.id.editGbp);
final EditText editUsd = (EditText) findViewById(R.id.editUsd);
Button buttonConvert = (Button)findViewById(R.id.buttonConvert);
buttonConvert.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
double euro = Double.valueOf( editEuro.getText().toString());
double aud = euro * 1.4471 ;
double cad = euro * 1.4635 ;
double nzd = euro * 1.5835 ;
double gbp = euro * 0.7965 ;
double usd = euro * 1.3395 ;
editAud.setText(String.valueOf(aud));
editCad.setText(String.valueOf(cad));
editNzd.setText(String.valueOf(nzd));
editGbp.setText(String.valueOf(gbp));
editUsd.setText(String.valueOf(usd));
}
});
}
【问题讨论】:
-
您可以查看stackoverflow.com/questions/153724/…。事实上,编程中的四舍五入是一个常见问题
-
@istovatis 舍入到最近的一半有点复杂...
标签: java android decimal currency