温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

java Double 双精度怎么用

发布时间:2026-10-26 11:16:02 来源:亿速云 阅读:100 作者:小樊 栏目:编程语言

在 Java 中,Double 是基本类型 double 的包装类(Wrapper Class),属于 java.lang 包,不用导包就能用。

下面从基本用法 → 常用方法 → 注意事项给你讲清楚。


一、Double 的两种使用方式

1️⃣ 基本类型(推荐,性能好)

double a = 3.14;
double b = 2.0;
double c = a + b;

2️⃣ 包装类(对象形式)

Double x = 3.14;
Double y = 2.0;

✅ Java 5+ 支持自动装箱 / 拆箱

Double d = 1.5;     // 自动装箱
double e = d;       // 自动拆箱

二、Double 常见构造与转换

1️⃣ 字符串 → Double

Double d1 = Double.parseDouble("3.14"); // 常用
Double d2 = Double.valueOf("2.5");

2️⃣ Double → 字符串

Double d = 3.14;
String s = d.toString();

三、Double 常用方法

方法 说明
Double.parseDouble(String) 字符串转 double
Double.valueOf(String) 字符串转 Double
doubleValue() Double → double
isNaN() 判断是否非数字
isInfinite() 判断是否无穷大
compareTo(Double) 比较两个 Double

示例

Double a = 3.14;
Double b = 2.71;

System.out.println(a.compareTo(b)); // 1
System.out.println(a.isNaN());      // false

四、特殊值(很重要⚠️)

Double.NaN;        // 非数字
Double.POSITIVE_INFINITY; // 正无穷
Double.NEGATIVE_INFINITY; // 负无穷

示例:

double x = 0.0 / 0.0; // NaN
double y = 1.0 / 0.0; // Infinity

五、Double 比较的坑(⚠️重点)

❌ 错误方式

if (a == b) // 不推荐(精度问题)

✅ 正确方式

if (Math.abs(a - b) < 1e-9) {
    // 认为相等
}

或使用 BigDecimal(金融计算强烈推荐):

BigDecimal a = new BigDecimal("0.1");
BigDecimal b = new BigDecimal("0.2");

六、典型使用场景

  • 科学计算
  • 图形 / 游戏坐标
  • 普通浮点运算
  • ❌ 不适合:金额计算(用 BigDecimal)

七、一句话总结

Double 是 double 的对象形式,用于需要对象、集合、特殊值的场景;普通计算直接用 double 更高效。

如果你愿意,我也可以:

  • 给你 double vs BigDecimal 对比
  • 帮你写 金额计算的规范写法
  • 讲 Double 在集合(List / Map)中的使用

你现在是用在哪种场景?

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手