61

次のようなコードがあります。

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) {

    }
}

私は基本的にゼロ除算例外を将来的に避けたいと思っています。

ありがとう

4

5 に答える 5

-4

最も安全な方法は、double を 0 でビットごとに OR することです。このXORing two doubles in Javaを見てください。

基本的にはあなたがすべきですif ((Double.doubleToRawLongBits(foo.x) | 0 ) )(本当に0の場合)

于 2013-08-15T19:32:47.340 に答える