浮点类型用于标识有小数部分的值。
浮点类型分两种:float(4字节)和double(8字节)。
double标识这种类型的数值精度是float的两倍(亦被称之为双精度数值)。
绝大部分应用程序都采用double类型。
所有的浮点数值计算都遵循IEEE 754规范,正无穷大(Double.POSITIVE_INFINITY),负无穷大(Double.NEGATIVE_INFINITY),NaN(Double.NaN)是用于表示溢出和出错情况的三个特殊的浮点数值。
不能检测一个特定值是否等于Double.NaN,错误事例 if(x = Double.NaN);所有非数值的值都认为是不相同的,可以这么写 if(Double.isNaN(x))。
浮点数值不适用于无法接受舍入误差的金融计算中,因为浮点数值采用二进制系统表示,而在二进制中无法精确表示分数1/10,这类似在10进制钟无法精确表示3/4是相同的道理。
如果在数值计算各种不允许任何摄入操作,就应该使用BigDecimal类。