浮点型使用细节

浮点型使用细节

1.与整数类型类似,java浮点类型也有固定的范围和字段长度,不受具体OS的影响。

float4个字节,double是8个字节
2.Java的浮点型常量(具体值)默认为double型,声明float?型常量,须后加’f’或’F’

3.浮点型常量有两种表示形式

十进制数形式:如:5.12 512.0f .512(必须有小数点,将小数点前面的值视为0)
科学计数法形式如:5.12e2[5.12*10的2次方 ]5.12E-2[5.12/10的2次方]

4.通常情况下,应该使用double型,因为它比float?型更精确。

[举例说明]

double num9=2.1234567851:
float num10=2.1234567851F:

输出:
file

5.浮点数使用陷阱: 2.7 和 8.1 / 3 比较

得到一个重要的使用点:当我们对运算结果是小数的进行相等判断是,要小心
比如下面if判断,因为num12是一个近似2.7的小数,所以相等判断不成立
if (num11==num12) {}
应该是以两个数的差值的绝对值,在某个精度范围类判断

if(Math.abs(num11-num12)<0.00001){
    System.out.println("近似相等");
}

输出Math.abs可以看出结果是一个足够小的数
file