温馨提示×

温馨提示×

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

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

java Double双精度精度多少

发布时间:2026-09-15 04:35:13 来源:亿速云 阅读:94 作者:小樊 栏目:编程语言

在 Java 中,double64 位 IEEE 754 双精度浮点数,其精度和范围如下:

1. 精度(有效数字)

  • 约 15–17 位十进制有效数字
  • 实际保证的精度是 15 位十进制数字
  • 内部使用 52 位尾数(mantissa)
    • 2^52 ≈ 4.5 × 10^15
    • 所以大约能精确表示 15~16 位十进制数

2. 数值范围

  • 最大值:Double.MAX_VALUE1.7976931348623157E308
  • 最小正值(非规约):Double.MIN_VALUE4.9E-324
  • 规约最小值(正常数):≈ 2.2250738585072014E-308

3. 特殊值

  • 正无穷:Double.POSITIVE_INFINITY
  • 负无穷:Double.NEGATIVE_INFINITY
  • NaN:Double.NaN

4. 示例说明

double a = 0.1;
double b = 0.2;
System.out.println(a + b); // 0.30000000000000004

这说明 double 不能精确表示所有十进制小数

5. 如果需要更高精度

  • 使用 BigDecimal(金融、精确计算)
  • 示例:
BigDecimal a = new BigDecimal("0.1");
BigDecimal b = new BigDecimal("0.2");
System.out.println(a.add(b)); // 0.3

总结

类型 位数 精度 范围
double 64 15–17 位十进制 ±1.8×10^308

如果你关心的是金额、精度要求、或浮点误差问题,可以继续问我。

向AI问一下细节

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

AI