int finalTotal = total; Rate rate = rateList.stream().filter(f -> finalTotal > Integer.parseInt(f.getStart()) && finalTotal < Integer.parseInt(f.getEnd())).collect(Collectors.toList()).get(0); BigDecimal jt = CountUtil.jt(rate, String.valueOf(total)); reportSettlement.setSumMoney(jt);
时间: 2024-04-18 20:31:39 浏览: 175
android表格效果之ListView隔行变色实现代码
这段代码的作用是根据总金额(total)在费率列表(rateList)中找到对应的费率(Rate),然后计算结算金额(jt),最后将结算金额设置到报告结算对象(reportSettlement)的字段(sumMoney)中。
首先,将总金额赋值给变量finalTotal。然后,使用流式操作过滤费率列表,找到满足条件的费率。条件是总金额大于费率的起始金额(f.getStart())并且总金额小于费率的结束金额(f.getEnd())。然后,使用Collectors.toList()方法将满足条件的费率收集到列表中。接下来,从列表中取出第一个费率对象,并将其赋值给变量rate。
接下来,调用CountUtil.jt()方法,将费率对象和总金额转为字符串作为参数传入,计算结算金额。最后,将计算得到的结算金额设置到报告结算对象的sumMoney字段中。
请注意,这段代码没有进行异常处理和边界检查,你可能需要根据实际情况进行处理。另外,确保费率列表中至少有一个满足条件的费率对象,否则会抛出异常。
阅读全文