我想在 Graphics.DrawLine 方法中处理 NaN 值。请参考下面的代码片段。
Private Graphics g;
m_g.DrawLine(pen, x1, y1, x2, y2);
在我们的项目中的某些情况下y1
,y2
价值是NaN
. 所以它会抛出像“溢出错误”这样的异常。
如何处理NaN值。
唯一的解决方案是检查您的任何值是否为 NaN,如果是,则不要调用 DrawLine(如果 x1、x2 等为float
s):
if (Single.IsNaN(y1) || Single.IsNaN...)
{
//Handle error
}
else
{
m_g.DrawLine(pen, x1, y1, x2, y2);
}
假设您的数据代表某种图形,NaN 可能意味着以下两种情况之一:
在第一种情况下,NaN 表示数据不好,您有两个选择:不绘制任何数据,或者将所有数据绘制到第一个 NaN。无论哪种方式,您都应该提醒用户注意问题。
在第二种情况下,如果有任何 NaN,您应该将数据“分割”成不包含任何 NaN 的单独部分,然后绘制这些部分。然后,您的图表中将有(有效的)空白。