You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Lambda表达式中调用静态方法实现先舍入再求和的问题求助

嗨,这个问题很常见,其实就是调整一下舍入操作的执行顺序就行!

解决方案

直接把舍入逻辑移到Lambda表达式内部,对每个单独的数值先做舍入,再累加求和,修改后的代码如下:

this.ClonedEntity.MontantHT = correctedLines.Sum(l => ArroundDecimal.CustomDecimalArround(l.MontantHT ?? 0));

逻辑对比

  • 你原来的代码:ArroundDecimal.CustomDecimalArround(correctedLines.Sum(l => l.MontantHT ?? 0)) → 先把所有数值求和,再对总和做舍入(对应先求和再舍入);
  • 修改后的代码:先对每个l.MontantHT ?? 0执行CustomDecimalArround舍入,再将所有舍入后的结果累加(对应你想要的先舍入每个值再求和)。

小提醒

要确保ArroundDecimal.CustomDecimalArround这个静态方法的参数类型和l.MontantHT ?? 0的类型匹配(比如如果MontantHT是decimal?,那么l.MontantHT ?? 0是decimal,方法参数就应该接收decimal类型),同时方法返回值也得是可累加的数值类型(比如decimal),这样Sum方法才能正常工作。

内容的提问来源于stack exchange,提问作者yass1n3

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:13:25