浮点型变量/常量
带小数的数据在Java中称为浮点型,浮点型可以分为float类型和double类型。
| 浮点型数据类型 | ||
| 类型 | 占用存储空间 | 表数范围 |
| float | 4字节 | -3.403E38 ~ 3.403E38 |
| double | 8字节 | -1.798E308 ~ 1.798E308 |
float类型又被称作单精度类型,尾数可以精确到7位有效数字,在很多情况下,float类型的精度很难满足需求。而double类型表示这种类型的数值精度约是float类型的两倍,又被称作双精度类型,绝大部分程序都采用double类型。浮点型常量默认类型也是double类型。
Java浮点型常量有两种表现形式
十进制数形式,如:3.14 314 0.314
科学技术法形式,如:314e2 314E2 314E-2

注意:浮点数是不精确的,一定不能用于比较!因为由于字长有限,浮点数能够精确表示的数是有限的,因而也是离散的。浮点数一般都存在舍入误差,很多数字无法精确表示,其结果只能是接近,但是不等于。二进制浮点数不能精确的表示0.1,0.01,0.001等这样的10的负次幂。并不是所有的小数都可以精确的用二进制浮点数表示。
Java.math包下面的两个有用的类:BigInteger和BigDecimal,这两个类可以处理任意长度的数值。BigInteger实现了任意精度的整数运算。BigDecimal实现了任意精度的浮点数运算。


浙公网安备 33010602011771号