【问题标题】:Is Double.MIN_VALUE is greater than zero in Java?Java 中 Double.MIN_VALUE 是否大于零?
【发布时间】:2023-04-04 22:26:02
【问题描述】:

我在我的代码中发现了一个错误,可以归结为将 Double(0.0)Double.MIN_VALUE 进行比较。本质上,以下返回 false:

System.out.println(0.0 > Double.MIN_VALUE);

这怎么可能?

【问题讨论】:

  • 对于 .NET 程序员:Java Double.MIN_VALUE 在 .NET 中的等价物是 double.Epsilondouble.MinValue 的 .NET 值是 负最大(绝对值)(有限)可表示值。

标签: java double


【解决方案1】:

根据javadoc for Double.MIN_VALUE,MIN_VALUE 是:

保持最小的常数 double 类型的正非零值

所以 Double.MIN_VALUE 不是负数,它是正值,它与 Double 可以达到零(不为零)一样接近。

【讨论】:

    【解决方案2】:

    Double.MIN_VALUE 是可以用 Java 双精度表示的最小正非零值(请参阅http://download.oracle.com/javase/8/docs/api/java/lang/Double.html 的 JavaDoc)。

    【讨论】:

      猜你喜欢
      • 2011-03-20
      • 2011-05-09
      • 2016-12-17
      • 2011-04-22
      • 2020-04-27
      • 2016-07-29
      • 1970-01-01
      • 1970-01-01
      • 2016-04-06
      相关资源
      最近更新 更多