首页 > 技术文章 > 浮点数

TheOnlyGrace 2021-12-01 21:28 原文

浮点数

浮点数使用陷阱:

2.7 和 8.1 / 3  的比较
double num1 = 2.7;
double num2 = 8.1 / 3;
System.out.println(num1); //2.7
System.out.println(num2); //接近2.7 的一个小数,而不是2.7

if(num1 == num2){
	System.out.println("相等"); //不输出
}

//正确的写法是:
if(Math.abs(num1 - num2) < 0.000001){
	System.out.println("差值非常小,到我的规定精度,认为相等");
}
//(Math.abs(num1 - num2): 可以通过java API 来看

得到一个重要的使用点:当我们对运算结果是小数的进行相等判断时,要小心,应该是以两个数的差值的绝对值,在某个精度范围类判断


  • 多行一起注释的快捷键:Ctrl + /

推荐阅读