双减法精度问题
我的同事做了这个实验:
public class DoubleDemo {
public static void main(String[] args) {
double a = 1.435;
double b = 1.43;
double c = a - b;
System.out.println(c);
}
}
对于这个一级操作,我期望这个输出:
0.005
但出乎意料的是,输出是:
0.0050000000000001155
为什么双精度在如此简单的操作中会失败?如果 double 不是这项工作的数据类型,我应该使用什么?