rdlc 报告行总计字段计算不正确

rdlc report row totals field not calculating correctly

美好的一天

我有一份关于我的考勤解决方案的 rdlc 报告, 但是总计字段总是给我错误的值...

=IIF(((TimeSpan.Parse(Fields!HoursNT.Value)+TimeSpan.Parse(Fields!HoursOT1.Value)+TimeSpan.Parse(Fields!HoursOT2.Value)+TimeSpan.Parse(Fields!HoursOT3.Value)+TimeSpan.Parse(Fields!HoursOT4.Value))).Minutes.ToString().Length=1,string.Format("{0}:0{1}",Convert.ToInt32(((TimeSpan.Parse(Fields!HoursNT.Value)+TimeSpan.Parse(Fields!HoursOT1.Value)+TimeSpan.Parse(Fields!HoursOT2.Value)+TimeSpan.Parse(Fields!HoursOT3.Value)+TimeSpan.Parse(Fields!HoursOT4.Value))).TotalHours),((TimeSpan.Parse(Fields!HoursNT.Value)+TimeSpan.Parse(Fields!HoursOT1.Value)+TimeSpan.Parse(Fields!HoursOT2.Value)+TimeSpan.Parse(Fields!HoursOT3.Value)+TimeSpan.Parse(Fields!HoursOT4.Value))).Minutes),string.Format("{0}:{1}",Convert.ToInt32(((TimeSpan.Parse(Fields!HoursNT.Value)+TimeSpan.Parse(Fields!HoursOT1.Value)+TimeSpan.Parse(Fields!HoursOT2.Value)+TimeSpan.Parse(Fields!HoursOT3.Value)+TimeSpan.Parse(Fields!HoursOT4.Value))).TotalHours),((TimeSpan.Parse(Fields!HoursNT.Value)+TimeSpan.Parse(Fields!HoursOT1.Value)+TimeSpan.Parse(Fields!HoursOT2.Value)+TimeSpan.Parse(Fields!HoursOT3.Value)+TimeSpan.Parse(Fields!HoursOT4.Value))).Minutes))

这是总计字段的表达式...

我做错了什么?

提前致谢

这是一个菜鸟错误

我做了一个测试程序来说明解决方案

从8:37开始的总小时数达到了 8.616666666666667 将其转换为 int 来到 9 但是将它转换为 int 给了我想要的 8

但是当将其应用于 rdlc 报告时,转换 (int) 将不起作用...所以我使用 Math.Truncate

=IIF(((TimeSpan.Parse(Fields!HoursNT.Value)+TimeSpan.Parse(Fields!HoursOT1.Value)+TimeSpan.Parse(Fields!HoursOT2.Value)+TimeSpan.Parse(Fields!HoursOT3.Value)+TimeSpan.Parse(Fields!HoursOT4.Value))).Minutes.ToString().Length=1,string.Format("{0}:0{1}",Math.Truncate(((TimeSpan.Parse(Fields!HoursNT.Value)+TimeSpan.Parse(Fields!HoursOT1.Value)+TimeSpan.Parse(Fields!HoursOT2.Value)+TimeSpan.Parse(Fields!HoursOT3.Value)+TimeSpan.Parse(Fields!HoursOT4.Value))).TotalHours).ToString("F0"),((TimeSpan.Parse(Fields!HoursNT.Value)+TimeSpan.Parse(Fields!HoursOT1.Value)+TimeSpan.Parse(Fields!HoursOT2.Value)+TimeSpan.Parse(Fields!HoursOT3.Value)+TimeSpan.Parse(Fields!HoursOT4.Value))).Minutes),string.Format("{0}:{1}",Math.Truncate(((TimeSpan.Parse(Fields!HoursNT.Value)+TimeSpan.Parse(Fields!HoursOT1.Value)+TimeSpan.Parse(Fields!HoursOT2.Value)+TimeSpan.Parse(Fields!HoursOT3.Value)+TimeSpan.Parse(Fields!HoursOT4.Value))).TotalHours).ToString("F0"),((TimeSpan.Parse(Fields!HoursNT.Value)+TimeSpan.Parse(Fields!HoursOT1.Value)+TimeSpan.Parse(Fields!HoursOT2.Value)+TimeSpan.Parse(Fields!HoursOT3.Value)+TimeSpan.Parse(Fields!HoursOT4.Value))).Minutes))

希望这对某人有所帮助!