热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

安卓开发之计算结果保留两位有效数字(四舍五入)

首先获取输入框输入的数(记得强转)yhyDouble.parseDouble(et_yhy.getText().toString());点击按钮之后得出两位有效数字的结果resul

首先获取输入框输入的数(记得强转)

yhy = Double.parseDouble(et_yhy.getText().toString());

点击按钮之后得出两位有效数字的结果

result = yhy * 0.01 * 3;
//把得到的值保留两位小数四舍五入
BigDecimal bg3 = new BigDecimal(result);
double f3 = bg3.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
tv_yhy.setText("" + f3);

《安卓开发之计算结果保留两位有效数字(四舍五入)》

这里本人用的按钮是选择期限的一个弹窗菜单如下:

点击期限布局时调用

showPopupMenu(ll_popup);

private double yhy, result;
private void showPopupMenu(View view) {
// View当前PopupMenu显示的相对View的位置
PopupMenu popupMenu = new PopupMenu(this, view);
// menu布局
popupMenu.getMenuInflater().inflate(R.menu.main, popupMenu.getMenu());
// menu的item点击事件
popupMenu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
yhy = Double.parseDouble(et_yhy.getText().toString());
switch (item.getItemId()) {
case R.id.it0:
tv_yue.setText("3个月");
result = yhy * 0.01 * 3;
//把得到的值保留两位小数四舍五入
BigDecimal bg3 = new BigDecimal(result);
double f3 = bg3.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
tv_yhy.setText("" + f3);
break;
case R.id.it1:
tv_yue.setText("6个月");
result = yhy * 0.01 * 6;
BigDecimal bg6 = new BigDecimal(result);
double f6 = bg6.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
tv_yhy.setText("" + f6);
break;
case R.id.it2:
tv_yue.setText("9个月");
result = yhy * 0.01 * 9;
BigDecimal bg9 = new BigDecimal(result);
double f9 = bg9.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
tv_yhy.setText("" + f9);
break;
case R.id.it3:
tv_yue.setText("12个月");
result = yhy * 0.01 * 12;
BigDecimal bg12 = new BigDecimal(result);
double f12 = bg12.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
tv_yhy.setText("" + f12);
break;
case R.id.it4:
tv_yue.setText("15个月");
result = yhy * 0.01 * 15;
BigDecimal bg15 = new BigDecimal(result);
double f15 = bg15.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
tv_yhy.setText("" + f15);
break;
case R.id.it5:
tv_yue.setText("18个月");
result = yhy * 0.01 * 18;
BigDecimal bg18 = new BigDecimal(result);
double f18 = bg18.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
tv_yhy.setText("" + f18);
break;
case R.id.it6:
tv_yue.setText("21个月");
result = yhy * 0.01 * 21;
BigDecimal bg21 = new BigDecimal(result);
double f21 = bg21.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
tv_yhy.setText("" + f21);
break;
case R.id.it7:
tv_yue.setText("24个月");
result = yhy * 0.01 * 24;
BigDecimal bg24 = new BigDecimal(result);
double f24 = bg24.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
tv_yhy.setText("" + f24);
break;
case R.id.it8:
tv_yue.setText("27个月");
result = yhy * 0.01 * 27;
BigDecimal bg27 = new BigDecimal(result);
double f27 = bg27.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
tv_yhy.setText("" + f27);
break;
case R.id.it9:
tv_yue.setText("30个月");
result = yhy * 0.01 * 30;
BigDecimal bg30 = new BigDecimal(result);
double f30 = bg30.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
tv_yhy.setText("" + f30);
break;
case R.id.it10:
tv_yue.setText("33个月");
result = yhy * 0.01 * 33;
BigDecimal bg33 = new BigDecimal(result);
double f33 = bg33.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
tv_yhy.setText("" + f33);
break;
case R.id.it11:
tv_yue.setText("36个月");
result = yhy * 0.01 * 36;
BigDecimal bg36 = new BigDecimal(result);
double f36 = bg36.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
tv_yhy.setText("" + f36);
break;
default:
break;
}
return false;
}
});
popupMenu.show();
}

menu文件下的main布局如下:

xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
android:id="@+id/it0"
android:title="3个月"
app:showAsAction="never" />
android:id="@+id/it1"
android:title="6个月"
app:showAsAction="never" />
android:id="@+id/it2"
android:title="9个月"
app:showAsAction="never" />
android:id="@+id/it3"
android:title="12个月"
app:showAsAction="never" />
android:id="@+id/it4"
android:title="15个月"
app:showAsAction="never" />
android:id="@+id/it5"
android:title="18个月"
app:showAsAction="never" />
android:id="@+id/it6"
android:title="21个月"
app:showAsAction="never" />
android:id="@+id/it7"
android:title="24个月"
app:showAsAction="never" />
android:id="@+id/it8"
android:title="27个月"
app:showAsAction="never" />
android:id="@+id/it9"
android:title="30个月"
app:showAsAction="never" />
android:id="@+id/it10"
android:title="33个月"
app:showAsAction="never" />
android:id="@+id/it11"
android:title="36个月"
app:showAsAction="never" />

点击之后弹出menu窗口:
《安卓开发之计算结果保留两位有效数字(四舍五入)》


推荐阅读
author-avatar
屁儿最爱李佑晨
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有