我的資料庫中有一個包含正數和負數的列,我正在嘗試獲取負數的平均值
我有一個 StatsBuilder 類
public class StatsBuilder
{
private IRepository _statsRepository;
private IEnumerable<Stock> stocks;
public StatsBuilder()
{
var db = new AppDbContext();
_statsRepository = new StockRepository(db);
}
public AllStockStats GetAllStats()
{
stocks = _statsRepository.GetAllStocks();
AllStockStats allstock = new AllStockStats();
allstock.AvgPmGap = Math.Round(stocks.Select(x => x.GapPercent).Average());
allstock.AvgPmFade = Math.Round(stocks.Select(x => x.PMFadePercent).Average());
allstock.AvgSpike = Math.Round(stocks.Select(x => x.SpikePercent).Average());
allstock.AvgLow = Math.Round(stocks.Select(x => x.MorningLowPercent).Average());
allstock.AvgClosevHigh = Math.Round(stocks.Select(x => x.ClosevHigh).Average());
allstock.AvgClosevPmHigh = Math.Round(stocks.Select(x => x.ClosevPmHigh).Average());
allstock.UnderPmHigh = Math.Round((decimal)stocks.Where(x => x.PmHighvHigh > 0).Count()/stocks.Count()*100);
allstock.AbovePmHigh - Math.Round((decimal)stocks.Where(x => x.PmHighvHigh<0).Average());
allstock.CloseRed = Math.Round(((decimal)stocks.Where(x => x.CloseRed.ToString() == "Yes").Count()) / stocks.Count() * 100);
allstock.ClosevPmHigh = Math.Round(((decimal)stocks.Where(x => x.CloseLessEqualToPMHigh.ToString() == "Yes").Count()) / stocks.Count() * 100);
return allstock;
}
我在這里遇到了 Linq 錯誤
allstock.AbovePmHigh = Math.Round((decimal)stocks.Where(x => x.PmHighvHigh<0).Average());
謝謝您的幫助!!
uj5u.com熱心網友回復:
您必須選擇要平均的內容:
allstock.AbovePmHigh = Math.Round((decimal)stocks.Where(x => x.PmHighvHigh<0).Select(x => x.PmHigjvHigh).Average());
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/321439.html
