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;} }