在Java中,经常会进行两个数之间的比较,当被比较的两个数均为整数时,按如下代码进行比较即可:
int a=2;
int b=5;
System.out.println(a==b);
运行的结果为false。
当两个数为浮点数时,若直接进行比较,可能会产生错误,如下所示:
double a=1.0;
double b=0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1;
System.out.println(a==b);
运行后,会发现输出的结果为false。这是因为Java在进行浮点数的运算时,并不是精确运算,因此会产生一定的误差,这个时候,应该如下进行比较:
double a=1.0;
double b=0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1;
System.out.println(Math.abs(a-b)<1e-6);
其中,1e-6表示一个很小的数,可以换成其他的合适的数进行替换。这个时候,输出的结果就为true了。