0

在我的程序验证之一中,我需要检查存储在会话中的结果数字是否未定义(这是由于公式之一的除数可能为零)。

到目前为止我尝试过的(这可能是一种非常低效的方法)是这样的:

  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")isDouble.NaN.PositiveInfinity.NegativeInfinity

于 2016-09-29T04:45:02.237 回答