记不得当时这段代码是怎么来的了
public static void main(String[] args) {
int a1 = 1;
double a2 = 1.0;
System.out.println(a1==a2);
double a3 = 0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1;
System.out.println(a2==a3); //false why?
System.out.println(Math.abs(a2-a3)<1e-6);
System.out.println(a3);
double a4 = 0.1+0.1;
System.out.println(a4); //为什么这个却能等于0.2
double a5 = 0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1;
System.out.println(a5);
}
结果是
true
false
true
0.9999999999999999
0.2
1.0999999999999999
想想为什么。