15
浮点数据的精度
◼ 浮点数的精度?
⚫ 包含浮点数的计算是近似的,因为这些数没有以完全的准确度存储。例如:
➢ System.out.println(1.0 - 0.1 - 0.1 - 0.1 - 0.1 - 0.1);
显示的是0.5000000000000001而不是0.5
➢ System.out.println(1.0 - 0.9);
显示的是0.09999999999999998 而不是0.1
⚫ 整数可以精确地存储。因此,整数计算得到的是精确的运算结果
◼ 注意:浮点数的比较问题 Demo:Test.java
double n1 = 0.1;
double n2 = 1.0 - 0.9;
if (n1 == n2){
System.out.println("equal!");
}
else{
System.out.println("not equal!");
}
double n1 = 0.1;
double n2 = 1.0 - 0.9;
if (Math.abs(n1-n2) < 0.00000001){
System.out.println("equal!");
}
else{
System.out.println("not equal!");
}