2017-10-10 249 views
0

我可以使用一个转换器来完成这个任务,但我的情况是这样的:避免在datagrid中显示NAN?

我有一个对象具有几个属性,我评估每个属性的double并返回一个函数的结果,代码解释更好:

var partialFinalForecast = poisson.GetPartialFinalForecast(); 
     partialFinalForecast.GetType().GetProperties() 
           .Where(x => x.PropertyType == typeof(double)).ToList() 
           .ForEach(x => x.SetValue(partialFinalForecast, Math.Round((double)x.GetValue(partialFinalForecast), 2))); 

时有发生,这回NAN,我怎么能避免直接在此查询这个结果?

+0

要么确保您的输入不返回NAN,或者如果它是NAN不显示结果。如果您希望查询不返回此内容,请更改查询或更改输入。这听起来像经理谁想要一个程序永远不会失败... – oerkelens

+0

我只是问是否有可能做到这一点linq .. – Ilnumerouno

回答

0

您可以用Double.IsNaN((double)x.GetValue(partialFinalForecast)) ? 0 : (double)x.GetValue(partialFinalForecast)取代(double)x.GetValue(partialFinalForecast),但是这不是一个很好的方法(如通过oerkelens提到的)...