+ -
当前位置:首页 → 问答吧 → 怎么让得到的结果是正值呢

怎么让得到的结果是正值呢

时间:2011-12-19

来源:互联网

public ActionForward getAdddensity(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
HttpSession session = request.getSession();
String station1 = request.getParameter("station1");
String station2 = request.getParameter("station2");
MinData min1 = minDataBiz.getMinData(Long.parseLong(station1));
MinData min2 = minDataBiz.getMinData(Long.parseLong(station2));
NumberFormat format = NumberFormat.getPercentInstance();
  format.setMaximumFractionDigits(2);
  format.setMinimumFractionDigits(2); 


double jk = 0;
double ck = 0;
ArrayList<DataItem> deviceList = min1.getDataItems();
for (int k = 0; k < deviceList.size(); k++) {
DataItem minObj = deviceList.get(k);
if (minObj.getFactor().getFid() == 29) {
jk = minObj.getValue(2);
}
}

ArrayList<DataItem> deviceList1 = min2.getDataItems();
for (int k = 0; k < deviceList1.size(); k++) {
DataItem minObj1 = deviceList1.get(k);
if (minObj1.getFactor().getFid() == 29) {
ck = minObj1.getValue(2);
}

}
String result = format.format((jk - ck) / jk );

// 调用计算脱硫率的方法,得到脱硫率
session.setAttribute("result", result);
return mapping.findForward("addDensity");
}
上面是我的代码,我怎么让这个String result = format.format((jk - ck) / jk );
得到的是正值呢,就是相当于取他的绝对值

作者: mandlily   发布时间: 2011-12-19

Math.abs(double d)?这个吗

作者: gukuitian   发布时间: 2011-12-19

String result = format.format(Math.abs((jk - ck) / jk));
// Math.abs(...);
// Returns the absolute value of an int value.

作者: a_mean   发布时间: 2011-12-19

引用 2 楼 a_mean 的回复:
String result = format.format(Math.abs((jk - ck) / jk));
// Math.abs(...);
// Returns the absolute value of an int value.
?????怎么用??

作者: mandlily   发布时间: 2011-12-19

就是我要的结果是:计算出来的结果是2位小数而且是正数,后面带有%的,我现在就是用format的话,只能得到2位小数,他结果就会显示负数,如果我用math.abs()的话,他虽然显示的是正数,但是又有很多位 小数,所以。。。怎么写呢

作者: mandlily   发布时间: 2011-12-19