var rows = MiniExcel.Query(path, useHeaderRow: true, sheetName: "交易分析")
.GroupBy(x => new
{
Convert.ToDateTime(x.進場時間).Date
})
.Select(y => new
{
date = y.Key,
volume = y.Sum(z=> Convert.ToDouble(z.進場價格)*
Convert.ToDouble(z.交易數量))
});
執行會發生
Cannot implicitly convert type 'double' to 'int'. An explicit conversion exists (are you missing a cast?)
主要原因為是 Sum 不支援 double?
請問這個問題可以怎麼解決?
謝謝!
可以使用 Convert.ToInt32 方法將 Sum 函數的結果轉換為 int 數據類型:
var rows = MiniExcel.Query(path, useHeaderRow: true, sheetName: "交易分析")
.GroupBy(x => new
{
Convert.ToDateTime(x.進場時間).Date
})
.Select(y => new
{
date = y.Key,
volume = Convert.ToInt32(y.Sum(z=> Convert.ToDouble(z.進場價格)*
Convert.ToDouble(z.交易數量)))
});