在 Java 中,Double 双精度(double)有两种常见定义方式:
一种是基本数据类型 double,另一种是包装类型 Double。
double(最常用)double a = 3.14;
double b = 2.0;
double c = -1.5e3; // 科学计数法:表示 -1500.0
特点:
0.0doubleDoubleDouble x = 3.14;
Double y = new Double(2.0); // 不推荐(已过时)
✅ 推荐写法(自动装箱):
Double x = 3.14;
特点:
List<Double>)nulldouble d = 1.2; // 默认就是 double
float f = 1.2F; // 不加 F 会报错
✅ Java 中 小数默认是 double
public static final double PI = 3.1415926;
❌ 不要直接用 == 比较 double:
double a = 0.1 + 0.2;
double b = 0.3;
System.out.println(a == b); // false
✅ 推荐方式:
double eps = 1e-9;
if (Math.abs(a - b) < eps) {
// 认为相等
}
Double.parseDouble("3.14");
Double.isNaN(1.0 / 0.0);
Double.isInfinite(1.0 / 0.0);
| 方式 | 示例 | 是否推荐 |
|---|---|---|
| 基本类型 | double d = 1.0; |
✅ 推荐 |
| 包装类型 | Double d = 1.0; |
✅ 用于集合 |
| 科学计数法 | 1.5e3 |
✅ |
| 直接比较 | == |
❌ |
如果你有具体使用场景(比如计算、JSON、数据库、精度问题),我可以帮你选最合适的写法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。