我有双重类型的问题.在MSDN上,我读到了以下最大双倍值:
超过Double.MaxValue的操作的结果是Double.PositiveInfinity.
我写了一些测试:
Console.WriteLine(double.MaxValue + 100000 - double.MaxValue);
Console.WriteLine(double.MaxValue);
Console.WriteLine(double.MaxValue + 100000);
Console.WriteLine(double.IsPositiveInfinity(double.MaxValue + 100000));
Run Code Online (Sandbox Code Playgroud)
并看到了这个结果:
0
1,79769313486232E+308
1,79769313486232E+308
False
Run Code Online (Sandbox Code Playgroud)
我不明白,double.MaxValue + 100000不是正无穷大,而是等于MaxValue的两倍.根据msdn文档,我认为它应该是PositiveInfinity.
我在VS2012,.NET 4.5中测试过它