double.valueof的结果说明

alen0pnh  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(290)

这个问题在这里已经有答案了

java程序中奇怪的浮点行为[重复](4个答案)
5年前关门了。
我想知道为什么我在做这个双数和的时候会得到这么多小数点

System.out.println(Double.parseDouble(".56"));
double dvalue=1.12+Double.parseDouble(".56");
System.out.println(dvalue);

输出如下:0.56和1.6800000000000002为什么第二次求和是将小数相加,它应该是1.68

holgip5t

holgip5t1#

这是因为将1.12和0.56这两个数字相加,并不能得到1.68的精确表示(并不能得到1.68)。您可以看到此代码的区别:

System.out.println(1.12+0.56);   // 1.6800000000000002
System.out.println(1.68);        // 1.68

相关问题