【问题标题】:How this implicit type conversion works in java?这种隐式类型转换如何在 java 中工作?
【发布时间】:2021-02-24 02:31:32
【问题描述】:

为什么在 Java 中将双精度值与浮点值相加会导致双精度值的小数点后位数比输入本身多?

为什么小数点后的位数增加了?谁在小数点后提供这个附加值?

public class Main {
    public static void main(String[] args) 
    { 
        double data = 444.324; 
        float value = 5.1f; 
        System.out.println(value+data);   
    } 
}

从数学上讲,输出应该是

449.424

对吗?

但是下面程序的输出是

449.4239999046326

谁能解释这种行为?

【问题讨论】:

标签: java type-conversion implicit-conversion


【解决方案1】:

没有人提供数字。您只是看到舍入错误,因为浮点数无法在计算机内存中准确表示。

Google 浮点错误了解更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-07
    • 1970-01-01
    • 2021-04-18
    • 2011-02-01
    • 2019-09-16
    • 2015-03-26
    相关资源
    最近更新 更多