在下面的 linq 查询中,我有一个除以零的异常,我似乎无法编写代码。当 fldDevider 的 Sum 返回 0 时发生。
Dim lstToReturn As List(Of MonthData)
lstToReturn = (
From myRow In dtSpotData.AsEnumerable()
Group myRow By myRow.Field(Of DateTime)(fldstartdate).Month Into Group
Select New MonthData() With {
.Month = Month,
.ValuePerMonth =
(
Group.Sum(Function(dr) dr.Field(Of [Decimal])(fldSomeGeneralValue)) /
(
Group.Sum(Function(dr) CDec(dr.Field(Of String)(fldDevider)))
)
)
}
).ToList()
当 Group.Sum(Function(dr) CDec(dr.Field(Of String)(fldDevider))) 函数返回 0 时,如何确保 ValuePerMonth 字段为 0。或者我如何为 Sum fldDevider 返回 1 如果它实际上是 0。
也欢迎一些关于如何更好地将字符串转换为十进制的提示。