0

我想在 Graphics.DrawLine 方法中处理 NaN 值。请参考下面的代码片段。

Private Graphics g;

m_g.DrawLine(pen, x1, y1, x2, y2);

在我们的项目中的某些情况下y1y2价值是NaN. 所以它会抛出像“溢出错误”这样的异常。

如何处理NaN值。

4

2 回答 2

1

唯一的解决方案是检查您的任何值是否为 NaN,如果是,则不要调用 DrawLine(如果 x1、x2 等为floats):

if (Single.IsNaN(y1) || Single.IsNaN...)
{
    //Handle error
}
else
{        
    m_g.DrawLine(pen, x1, y1, x2, y2);
}
于 2013-04-11T04:24:10.903 回答
0

假设您的数据代表某种图形,NaN 可能意味着以下两种情况之一:

  1. 这可能意味着数据中存在错误。
  2. 它可以代表数据中的有效差距。

在第一种情况下,NaN 表示数据不好,您有两个选择:不绘制任何数据,或者将所有数据绘制到第一个 NaN。无论哪种方式,您都应该提醒用户注意问题。

在第二种情况下,如果有任何 NaN,您应该将数据“分割”成不包含任何 NaN 的单独部分,然后绘制这些部分。然后,您的图表中将有(有效的)空白。

于 2013-04-11T06:22:07.740 回答