java语法使用小技巧-保留两位小数-用group对list数据分组取和
如何用java对float类型数字保留两位小数:
Float sumFlowTotalTime = 104.17F; Float sumStartNum =19.0F; Float rate = Math.round(((sumFlowTotalTime/sumStartNum)*100))/100f; System.out.println(rate);
打印结果:5.48
java用group对list数据分组取和:
List<OrgApprovedDetail> approvedList = orgApprovedNumList.stream() .collect(Collectors.groupingBy(FandOrgApprovedNum::getOrgCode)).entrySet().stream() .map(entry -> { String orgCode = entry.getKey(); int sumStopNum = entry.getValue().stream() .mapToInt(f -> Integer.parseInt(f.getStopNum())).sum(); int sumApprovedNum1 = entry.getValue().stream() .mapToInt(f -> Integer.parseInt(f.getApprovedNum())).sum(); int sumExtendedNum1 = entry.getValue().stream() .mapToInt(f -> Integer.parseInt(f.getExtendedNum())).sum(); int quickApprovedNum1 = entry.getValue().stream() .mapToInt(f -> Integer.parseInt(f.getQuickApprovedNum())).sum(); int sumReworkNum1 = entry.getValue().stream() .mapToInt(f -> Integer.parseInt(f.getReworkNum())).sum(); float extendedRate1 = 0; if (sumApprovedNum1 > 0) { extendedRate1 = (float) sumExtendedNum1 / (float)sumApprovedNum1; } OrgApprovedDetail orgApprovedNum =new OrgApprovedDetail(); orgApprovedNum.setOrgCode(orgCode); orgApprovedNum.setStopNum(sumStopNum); orgApprovedNum.setApprovedNum(sumApprovedNum1); orgApprovedNum.setExtendedNum(sumExtendedNum1); orgApprovedNum.setQuickApprovedNum(quickApprovedNum1); orgApprovedNum.setReworkNum(sumReworkNum1); orgApprovedNum.setExtendedRate(extendedRate1); return orgApprovedNum; }).collect(Collectors.toList());
浙公网安备 33010602011771号