2013-04-11 21 views
0

我想在Graphics.DrawLine方法中處理NaN值。請參閱下面的代碼片段。如何在graphics.DrawLine方法中處理NaN值C#

Private Graphics g; 

m_g.DrawLine(pen, x1, y1, x2, y2); 
在某些情況下

在我們的項目y1y2價值NaN。所以它拋出了像「溢出錯誤」的異常。

如何處理此問題NaN值。

回答

1

唯一的解決方案是檢查你的任何值是NaN,並且不叫的DrawLine如果他們(如果X1,X2等都是float S):

if (Single.IsNaN(y1) || Single.IsNaN...) 
{ 
    //Handle error 
} 
else 
{   
    m_g.DrawLine(pen, x1, y1, x2, y2); 
} 
0

假設你的數據代表某種圖形,NaN可能表示以下兩種情況之一:

  1. 這可能意味着數據中存在錯誤。
  2. 它可能會重傳數據中的有效差距。

在第一種情況下,NaN表示數據不好,您有兩個選擇:不要畫出任何一個,或者將它全部畫到第一個NaN。無論如何,您應該提醒用戶注意問題。

在第二種情況下,如果有NaN,你應該將你的數據「砍」成不包含任何NaN的單獨部分,並畫出這些部分。那麼你的圖表會有(有效的)缺口。