gpt4 book ai didi

java - 如何测试 double 是否为零?

转载 作者:IT老高 更新时间:2023-10-28 20:50:01 24 4
gpt4 key购买 nike

我有一些这样的代码:

class Foo {
public double x;
}

void test() {
Foo foo = new Foo();

// Is this a valid way to test for zero? 'x' hasn't been set to anything yet.
if (foo.x == 0) {

}

foo.x = 0.0;

// Will the same test be valid?
if (foo.x == 0) {

}
}

我基本上是想避免将来出现被零除的异常。

谢谢

最佳答案

类范围内的数值原语在未显式初始化时被初始化为零。

本地范围内的数字原语(方法中的变量)必须显式初始化。

如果您只担心除以零异常,检查您的 double 值是否完全为零非常有用。

if(value != 0)
//divide by value is safe when value is not exactly zero.

否则当检查像 doublefloat 这样的浮点值是否为 0 时,使用错误阈值来检测该值是否为接近 0,但不是相当 0。

public boolean isZero(double value, double threshold){
return value >= -threshold && value <= threshold;
}

关于java - 如何测试 double 是否为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18260213/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com