java - 比较 Double.MIN_VALUE 和 0

标签 java if-statement double

为什么这段代码不起作用?实际上,这只是一个大程序的一小部分。它必须将 Double.MIN_VALUE 与不同的值进行比较,它适用于除 0. 之外的所有值,为什么?谢谢!

double d = Double.MIN_VALUE;
if (0. > d) {
    System.out.println("OK");
}

最佳答案

Double.MIN_VALUE4.9E-324。这不小于 0。但它实际上不是 0

如果你打印

System.out.println(4.9E-324d > 0.);//this is true

从这个意义上说,

0.0000000000...0001 != 0. But it tends to 0

同样的方式 4.9E-324d != 0 但趋向于 0

关于java - 比较 Double.MIN_VALUE 和 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30665354/

相关文章:

java - Java 将 double 拆分为数组

c++ - iomanip 操作返回一个十六进制值

java - 更好的或自定义的 JUnit 测试过滤

java - 提交后如何取消所有复选框?

r - 如何打印包含列的特定值的行?

java - UDP 中数据报包的使用

ios - pow() 行为与 Float 和 Double 不同

java - Spring 批处理中的链接步骤

java - 从SD卡读取文件时如何显示进度条

python - 高阶函数 IF ELSE 检查