关于浮点型的使用细节

1.浮点类型在机器中存放形式 (重点记忆)
浮点数(float,double) = 符号位 + 指数位 + 尾数位
//   符号位上篇我们有讲过,这里不做重复
//   指数位:决定取值范围
//   尾数位:决定精度
2.java浮点数默认类型为double
System.out.println(1.0); //通过debug(idea中在行最左边点一下有个红点,可以用来debug)
3.浮点型常量表示形式
//  十进制:5.12 5.12f
//  科学计数法:5.12e2 5.12E-4
4.通常使用double类型,因为比float更精确
float f = (float) (1/3.0);
double d = 1.0/3;
System.out.println(f); //0.33333334
System.out.println(d); //0.3333333333333333

float f1 = 1/3;
double d1 = 1/3;
System.out.println(f1); //0
System.out.println(d1); //0
5.浮点数使用陷阱 ----因为第1点
double a = 2.7;
double b = 8.1/3;
if (a == b){
    System.out.println("相等");
} else {
    System.out.println("不相等");
}
//  不相等

if (Math.abs(a-b) < 0.01){
    System.out.println("相等");
}else {
    System.out.println("不相等");
}
//  相等
//  如果< 0.000000000000000000001(反正是超多0),它会不相等    这里的0.01是相对精度
6.使用BigDecimal进行比较精确的计算(建议百度,我讲不清楚…)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容