Graphics.DrawLine メソッドで NaN 値を扱いたい。以下のコード スニペットを参照してください。
Private Graphics g;
m_g.DrawLine(pen, x1, y1, x2, y2);
場合によっては、私たちのプロジェクトy1
とy2
値が ですNaN
。そのため、「オーバーフロー エラー」のような例外がスローされます。
NaN値に対してこれを処理する方法。
唯一の解決策は、値のいずれかが NaN であるかどうかを確認し、そうである場合 (x1、x2 などがfloat
s の場合) 、DrawLine を呼び出さないことです。
if (Single.IsNaN(y1) || Single.IsNaN...)
{
//Handle error
}
else
{
m_g.DrawLine(pen, x1, y1, x2, y2);
}
データが何らかのグラフを表していると仮定すると、NaN は次の 2 つのいずれかを意味します。
最初のケースでは、NaN はデータが不良であることを意味し、2 つの選択肢があります。1 つも描画しないか、最初の NaN まですべてを描画するかです。いずれにせよ、ユーザーに問題を警告する必要があります。
2 番目のケースでは、NaN がある場合は、データを NaN を含まない個々のセクションに「切り刻み」、それらのセクションを描画する必要があります。次に、グラフには(有効な)ギャップがあります。