小编KRi*_*HNA的帖子

Java允许将int隐式转换为float.为什么?

在Java中,我们可以隐式地将int转换为float,这可能导致精度损失,如下面的示例代码所示.

public class Test {
    public  static void main(String [] args) {
        int intVal = 2147483647;
        System.out.println("integer value is " + intVal);
        double doubleVal = intVal;
        System.out.println("double value is " + doubleVal);
        float floatVal = intVal;
        System.out.println("float value is " + floatVal);
        }
}
Run Code Online (Sandbox Code Playgroud)

输出是

integer value is 2147483647
double value is 2.147483647E9
float value is 2.14748365E9
Run Code Online (Sandbox Code Playgroud)

当精度损失时,允许将int隐式转换为float的原因是什么?

java

6
推荐指数
1
解决办法
5054
查看次数

标签 统计

java ×1