java 浮点类型 学习笔记

java yekong

Java的浮点类型可以表示一个小数,比如123.4,7.8,0.12等。

浮点型的分类

浮点型的分类

关于浮点数在机器中存放形式的简单说明,浮点数=符号位+指数位+尾数位
尾数部分可能丢失,造成精度损失(小数都是近似值)。

与整数类型类似,Java 浮点类型也有固定的范围和字段长度,不受具体OS的
影响。[float 4 个字节 double 是8个字节]
java的浮点型常量默认力double型,声明float型常量,须后加'f'或'F'浮点型常量有两种表示形式
十进制数形式:如:5.12 512.0f .512 (必须有小数点)
科学计数法形式:如:5.12e2 [] 5.12E-2 []

通常情况下,应该使用double型,因为它比foat型更精确。【举例说明]
double num9 = 2.1234567851
float num10 = 2.1234567851F;
浮点数使用陷阱:2.7 和8.1/3 比较
当我们对运算结果是小数的进行相等判断时,要小心
应该是以两个数的差值的绝对值,在某个精度范面内判断

double n1 = 2.7;
double n2 = 8.1 / 3;
System.out.println(n1);
System.out.println(n2);
System.out.println(Math.abs(n1 - n2));

if (Math.abs(n1 - n2) < 0.00000001) {
    System.out.println("相等");
}

如果是直接查询得的的小数或者直接赋值,是可以判断相等

喜欢