我有一个应用程序,我打算添加两个double类型的值。在某些情况下,结果包含一个非常长的小数部分。我能够在一个单独的程序中重现这个问题。
public class Test {
public static void main (String args []) {
double total1= 8.69;
double total2 = 1.69;
double totalamount = total1 + total2 ;
System.out.println(totalamount);
}
}
输出:10.379999160766602 (被驱逐的输出格式应为#。##)
我尝试更改total1
和total2
的值。在某些情况下,输出是预期的格式。 long值的出现非常随机,并且它也与float
数据类型一致。
上述行为的解释是什么?