0

私のプログラムの検証の 1 つで、セッションに格納された結果の数値が定義されていないかどうかを確認する必要があります (これは、式の 1 つがゼロの被除数を持つ可能性があるためです)。

私がこれまでに試したこと(そして、それを行うには非常に非効率的な方法かもしれません)は次のとおりです。

  Dim x As Double
  Dim valid As Boolean = True
  Try
      Double.TryParse(Session("result"), x)
  Catch ex As Exception
      valid = False   
  End Try

セッションに保存されている数が不定または未定義の場合、TryParse 関数は失敗することがわかりました。オブジェクトに格納されている未定義の数値をキャッチするより良い方法は何だと思いますか?

PS 残念ながら、Session("result") が発生する関数を検証できません。これは、別のコーダーによって作成された別のモジュールが、それを私がコーディングしているモジュールに渡しているだけだからです。

4

1 に答える 1

2

System.Decimalまたは無限大がないNaNため、代わりに使用できます。

Dim valid = Decimal.TryParse(Session("result").ToString, x)

Falseif Session("result")is Double.NaN.PositiveInfinityまたは_.NegativeInfinity

于 2016-09-29T04:45:02.237 に答える