我計算值超出3個值,使從列表中選擇:爲什麼我的數學導致錯誤的布爾?
var applicable = from b in discounts.ToList() where
(b["Interest Rate"].Cast<double>() +
(-b["Discount/Premium"].Cast<double>()) +
((-b["Discount/Premium"].Cast<double>())/(b["Term"].Cast<int>()/12))) >= GlobalVar.minRealReturn
select b;
當我採取的第一個元素「適用」我接收這不應該是在列表中(I檢查的元件。超過 14結果元素但這個元素得到了13.975的結果)
是'b'字典嗎? – Dido
不,b是excelsheet中的變量「Row」 使用小數點時我收到errormessage「+'運算符不能與類型decmal和double一起使用我用雙精度代替了所有雙精度值 –
您應該重構代碼以使它更具有可讀性,使用帶有屬性的模型而不是字典需要按名稱查找,然後進行強制轉換。您確定「適用」將始終返回一個值嗎?如果不適用,您將得到一個異常。 – Dido