Java加减乘数多位小数问题 目录 一、以加法为例 二、原因 三、解决办法 目录 一、以加法为例 double s1 = 0.2; s1 += 0.1; System.out.println(s1); 以下代码结果应为0.3,打印如下图所示 二、原因 由于我们的计算机都是二进制保存数据的,浮点型数据没有办法用二进制进行精确表示。所以CPU就将浮点型数据分成两个部分:指数+尾数,所以在存储过程中就损失了一部分精度,在计算时当然得到结果也就不准确。