小编Ser*_*pov的帖子

双溢出

我有双重类型的问题.在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中测试过它

.net c#

17
推荐指数
2
解决办法
4353
查看次数

标签 统计

.net ×1

c# ×1