单精度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)
标签:num1,num2,double,float,5.12,浮点,细节,类型 From: https://www.cnblogs.com/bottomgg/p/16733089.html