2

我需要您的帮助来完成以下代码快照。

public class Ex1 {
    public static void main(String[] args) {
        Number number = new Float(1000000.211);
        System.out.println(number);
        System.out.println(number.byteValue());
        System.out.println(number.shortValue());
        System.out.println(number.intValue());
        System.out.println(number.longValue());
        System.out.println(number.floatValue());
        System.out.println(number.doubleValue());
    }
}

输出:

1000000.2

64

16960

1000000

1000000

1000000.2

1000000.1875

问题:所以我创建了 Float 实例并将其存储到 Number 类引用变量中,并且还能够调用 Number 类的方法。当我调用doubleValue()方法时,时间输出值在分数之后发生变化。

我还读出了Float 类中doubleValue()方法的实现。

public double doubleValue() {
    return (double)value;
}

他们只是将类型转换为双精度值,然后为什么输出值不同。

请提出您的建议和看法。

4

0 回答 0