4
我正在運行一個LINQ查詢,它使用本地「let」變量來計算本地值,以便與傳入查詢的參數進行比較。Math.Round() - LINQ查詢
我有以下查詢:
let percentage = Math.Round((Double)((completed/total)*100),0,MidpointRounding.ToEven)
正如你可以在我的查詢看到,我比較的結果是:
Items = from lead in Items
let total = lead.NurtureActions.Count(q => !q.Deleted)
let completed = lead.NurtureActions.Count(nurtureAction => nurtureAction.Completed && !nurtureAction.Deleted)
let percentage = Math.Round((Double)((completed/total)*100),0,MidpointRounding.ToEven)
where
total>0 &&
percentage == progress
select lead;
這是非常重要的上面是以下行的部分該查詢與progress
,這是傳遞到我的函數。
例如:我可能會傳遞值8
,所以progress
將具有值8
。但是計算出的percentage
最初可能是8.223
,但我需要這樣做到8
。
我相信我正確地做了這件事,但出於某種原因,有些東西無法正常工作。
任何想法可能會引發四捨五入?我也嘗試了四捨五入的AwayFromZero
選項,但那也行不通。
編輯對於那些請求更多信息的人,我不確定它計算的是什麼值。我對調試LINQ查詢沒有經驗,並且不知道從哪裏開始找出該值。我會提供它,如果我知道如何得到它。
會發生什麼?你在調試器中看到了什麼值? – SLaks
「...某些功能無法正常工作。」什麼工作不正常?你在看什麼?它是否應該圓整? – Kiril
你已經說過兩次「不行」 - 但沒有說實際發生了什麼。 –