任何方式投java.lang.Double来java.lang.Integer?
它引发了一个例外
"java.lang.ClassCastException:java.lang.Double与java.lang.Integer不兼容"
这段代码
Double dbl = 254.9999999999999;
Integer integ = dbl.intValue();
System.out.println(integ);
Run Code Online (Sandbox Code Playgroud)
显示254,但更多一个"9"
Double dbl = 254.99999999999999;
Integer integ = dbl.intValue();
System.out.println(integ);
Run Code Online (Sandbox Code Playgroud)
它已经是255 ..为什么?
我是Java的新手,想知道如何对int转换工作?我理解通过采用低32位来实现long很简单,但是对于int(32位)来说,加倍(64位)呢?来自二进制二进制的64位是双精度浮点格式(尾数),那么它如何在内部转换为int?