浮点类型及使用细节

单精度float

双精度double

浮点数再机器中存放形式简单说明,浮点数 = 符号位 + 指数位 + 尾数位

尾数部分可能丢失,造成精度损失

 

1、java浮点类型有固定的范围和字段长度,不受具体os影响

2、java浮点型常量默认为double型,声明float型常量,须后加“f”或“F”

3、浮点型常量有两种表示形式   十进制数形式:如5.12   512.0f    .512(必须有小数点)   科学计数法形式:5.12e2(5.12*10的2次方    5.12e-2(5.12/10的2次方)

4、通常情况下,应该使用double类型,因为它比float更精确 如 double num1 = 2.1234567851;  float num2 = 2.1234567851F;

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

double num1 = 2.7 ;

double num2 = 8.1 / 3 ;

当我们对运算结果是小数的,进行相等判断是,要小心,应该是以两个数的差值的绝对值,在某个精度范围内判断

Math.abs(num1 - num2)        if(Math.abs(num1 - num2) < 0.00000001)

 

posted @ 2022-09-27 00:24  bottomgg  阅读(103)  评论(0)    收藏  举报