我计算值超出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