2016-08-11 8 views
0

私は現在、関数プロッタを実装していますが、1/(x-2)x=2などの不規則な計算が必要な場合を除いて、これまでのところすべての作業が完了しています。現時点で C#で不規則な計算を行うとどうなりますか?

は、私のコードは、(もちろん、単純化)次のようになります。

for(int i = minxvalue; i <= maxxvalue; i++) { 
    double y = ParseFunction(functionstring); //Parses the given string containing the user-entered function and returns the resulting y-value as double 
    coordinatelist.Add(new Coordinate(i, y);}//Saves the value-pair to a list with all valid points of the function-graph 

私の質問があり、私はMath.Sqrt(-2)1/0などとして計算した場合であるとyを期待するものを持っていますこれまでのところ、影響を受けた計算は、座標リストには表示されないため、何らかの理由で除外されていましたが、戻り値が必要です。

+2

は 'しかし、右、戻り値があるとのhast' - なし?。ゼロ除算の場合は[例外](https://msdn.microsoft.com/en-us/library/system.dividebyzeroexception(v = vs.110).aspx)があり、Sqrtの場合は「NaN」 (https://msdn.microsoft.com/en-us/library/system.math.sqrt(v = vs.110).aspx)も参照してください。 – GSerg

+1

実際、 '1/0'のような操作のための' DivisionByZeroException'があります。あなたの 'ParseFunction'にどこかのtry-catchブロックが含まれていると仮定して、例外を取り除きます。 –

+0

私のコードから見る限り、そうはありません。プロジェクトの以前の状態で結果をコンソールに出力すると、数値の代わりに 'undefined'が出力されましたが、例外はスローされませんでした。 – Daniel

答えて

2

計算結果がNot A Numberの場合があります。

は、おそらく何が起こるか見るために多くのコードを必要とするが、ここでのMSDNドキュメントです:NaN

+0

それかもしれません。 'y'を印刷するときにコンソール出力を説明するでしょう。ありがとう、これをチェックします。 – Daniel

関連する問題