c#如何检查数字是否为无穷大

我有一点问题。 我有两个双变量,每个变量的值为1 * 10 ^ 250。 现在,如果我将这两个值相乘,我得到的结果也是一个双变量。 问题是乘法的结果给了我无穷大的值,但我想防止这种情况并给出错误信息。 如果有人知道如何识别数字是无穷大,那就太好了。

IsInfinity方法怎么样?

https://msdn.microsoft.com/en-us/library/system.double.isinfinity(v=vs.110).aspx

Double.IsInfinity(3.0 / 0) 

也可以看看

  • IsPositiveInfinity
  • IsNegativeInfinity
  • PositiveInfinity时
  • NegativeInfinity

使用

 double.IsInfinity(theDoubleNumber); 

你也可以使用double.IsNegativeInfinity(),double.IsPositiveInfinity(),double.NaN(),double.MaxValue(),double.MinValue()用于类似目的

  **try this.....** if (Double.IsInfinity(SampleVar)) { //Put your logic here. } if (Double.IsNaN(SampleVar)) { //Put your logic here. } 

提取2个变量的对数然后添加它们就足够了。 在乘以捕获错误之前,如果要乘以的变量是A和B,则遵循以下伪代码:

 #include  Double A,B,L1,L2; Boolean MYERROR; main(){ L1 = LOG10(A); L2 = LOG10(B); If( (L1 + L2) > DBL_MAX_10_EXP){ MYERROR = true;}else{MYERROR = false;} }