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

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

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() {@Overridepublic 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布局如下:


点击之后弹出menu窗口:







本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部