类型 | 占用存储空间 | 范围 |
单精度float | 4字节 | -3.403E38~3.403E38 |
双精度double | 8字节 | -1.798E308~1.798E308 |
说明:
1)关于浮点数在机器中存放形式:浮点数=符号位—+指数位+尾数位
2)尾数位部分可能丢失,造成精度损失
使用细节
1、与证书类型类似,Java浮点类型也有固定的范围和字段长度,不受具体OS的影响。【float4个字节 double 8个字节】
2、Java的浮点型常量(具体值)默认为double型,声明float型的常量,须后加‘f’或‘F’
3、浮点型常量有两种表示形式
十进制:如5.12 521.0f .512 (必须有小数点)
科学计数法:如5.12e2【5.12*10^2】5.12e-2 【5.12/(10^2)】
4、通常情况下,应该使用double型,因为它比float型更精确。
5、浮点数使用陷阱: 2.7和8.1/3的比较
double num1 = 2.7;
double num2 = 8.1/3;
if(Math.abs(num1-num2)<0.00001)
{System.out.println("相等");
}