作者:屁儿最爱李佑晨 | 来源:互联网 | 2023-09-16 17:53
首先获取输入框输入的数(记得强转)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布局如下:
点击之后弹出menu窗口: