1

在java的类型提升规则中定义了long数据可以转换为float数据类型。怎么可能??

例如 :

 class casting{

    void show(float a){
   System.out.println("float");
   }


 public static void main(String args[]){
   casting obj = new casting();
  obj.show(10l);
  }

}

但是这里的输出是 float 8 字节的长数据如何转换为浮点数据(4 字节)?

4

1 回答 1

0

我修改了你的程序如下。long 是 64 位有符号数据类型,最大值为 9223372036854775807l。当您将其转换为浮点数时,它会打印为 9.223372E18。float 是 32 位单精度数据类型。希望这可以帮助

public class casting {

    void show(float a) {
        System.out.println("float is " + a);
    }

    public static void main(String args[]) {
        casting obj = new casting();
        obj.show(9223372036854775807l);
    }

}
于 2013-03-11T06:27:40.813 回答