0
我有一個問題,下面的代碼:Table.compute()C#MIN,MAX和AVG
val_par_Decimal_Min = Math.Round(Convert.ToDecimal(dsTabDados.Tables[EquipTrigger[TGR]].Compute("MIN(" + col.ColumnName + ")", col.ColumnName + " <> 0")?.ToString() ?? "0"), 2).ToString().Replace(",", ".");
val_par_Decimal_Max = Math.Round(Convert.ToDecimal(dsTabDados.Tables[EquipTrigger[TGR]].Compute("MAX(" + col.ColumnName + ")", col.ColumnName + " <> 0")?.ToString() ?? "0"), 2).ToString().Replace(",", ".");
val_par_Decimal_Med = Math.Round(Convert.ToDecimal(dsTabDados.Tables[EquipTrigger[TGR]].Compute("AVG(" + col.ColumnName + ")", col.ColumnName + " <> 0")?.ToString() ?? "0"), 2).ToString().Replace(",", ".");
我收集了一些數據,並在表中保存。
該列自動創建,類型爲十進制。
我要計算的列的最小,最大和平均無視值0
然而以下錯誤發生:
「的輸入字符串的不正確的格式」
我在做什麼錯?
嘗試將您的表達式拆分爲更小,最好是原子語句。因此,而不是'Math.Round(Convert.ToDecimal(...))'使用臨時變量來處理brakets中的語句,以評估您在哪裏得到錯誤。另外你也可以使用wquickwatch作爲內部表達,看看他們的評價。我想調用'ToDecimal'時會發生錯誤,因爲提供的值不能被轉換。但如果沒有*提供的價值,就不可能完全說清楚。 – HimBromBeere
感謝您的幫助。以下是我的問題的解決方案: –