次の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 であることを確認するにはどうすればよいですか。実際には 0 です。
文字列から 10 進数への変換を改善するためのヒントも歓迎します。