1.浮点类型
类型 | 占用存储空间 | 表述范围 |
---|---|---|
float | 4字节 | -3.403E38~3.403E38 |
double | 8字节 | -1.798E308~1.798E308 |
float 单精度浮点型,尾数可以精确到7位有效数字
double 双精度浮点型,数值精度为float的两倍;
绝大部分应用程序都用double类型。
2.Java浮点类型常量的两种表示形式
十进制
3.14
314.0
0.314科学计数法
314E2:314*10^2->31400
314e2 : 314*10^2->31400
314E-2:314*10^-2->3.14
3.Java浮点常数默认类型
浮点类型常数默认类型为double型,若要将其赋给float类型需要在后面加F/f
4.浮点数误差问题
浮点数存在舍入误差,很多数不能精确表示,最好避免使用浮点数
Float f=0.1f;
Double d=1.0/10;
System.out.println(f==d);//Flase
如果要不产生舍入误差的精确数字计算可以使用BigDecimal。