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