【问题标题】:Type casting in java [duplicate]java中的类型转换[重复]
【发布时间】:2013-03-11 06:16:55
【问题描述】:

在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);
  }

}

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

【问题讨论】:

  • 你的问题是什么。没有“?”在您的帖子中标记。
  • 我的问题是这种转换是如何实现的。在浮点型日期(4字节)长数据(8字节)如何存储..??
  • 这个reply应该告诉你原因。
  • 你能帮助自己遵循 java 命名约定吗?写类名时使用pascal大小写,写方法名时使用camel case。
  • 参考这篇文章stackoverflow.com/questions/1293819/… 这应该说清楚了。

标签: java casting type-conversion


【解决方案1】:

我修改了你的程序如下。 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);
    }

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-17
    • 2016-05-22
    相关资源
    最近更新 更多