System.out.println(3 * 0.1);
时间: 2024-04-04 19:29:36 浏览: 71
ojdbc8-12.2.0.1.zip
在Java中,浮点数的运算可能会出现精度误差。这是因为计算机内部使用二进制来表示浮点数,而有些十进制的小数在二进制表示下是无限循环的。因此,在某些情况下,计算机可能无法精确表示某些小数。
对于这个表达式`System.out.println(3 * 0.1)`,我们期望得到的结果是0.3。然而,由于0.1在二进制表示下是无限循环的,计算机内部可能只能表示一个近似值。因此,实际上输出的结果可能是0.30000000000000004或者0.29999999999999999等等。
这是一个经典的浮点数精度问题,如果需要精确计算小数,可以使用`BigDecimal`类。
阅读全文