double用于表示双精度浮点数,精度约15~16位,声明用double关键字,字面量默认为double类型;因二进制表示限制,0.1+0.2≠0.3,比较应使用误差范围判断。

Java 中的 double 用来表示带小数点的十进制数字,精度约15~16位有效数字,适合科学计算、金额(非高精度场景)、测量值等。
声明和初始化 double 变量
用 double 关键字声明,字面量默认是 double 类型,可加后缀 d 或 D(可选):
- double price = 19.99;
- double pi = 3.141592653589793;
- double bigNum = 1.23e5; // 等价于 123000.0
- double zero = 0.0; // 注意:0.0 是 double,0 是 int
注意浮点数精度问题
double 是二进制浮点数,无法精确表示很多十进制小数(如 0.1),导致计算误差:
- 0.1 + 0.2 == 0.3 的结果是 false(实际值约为 0.30000000000000004)
- 比较时避免直接用 ==,改用误差范围判断:Math.abs(a - b)
- 涉及金钱运算请用 BigDecimal,不用 double
类型转换与运算规则
和其他数值类型混合运算时,Java 自动提升为更宽类型(int → long → float → double):
传媒企业网站系统使用热腾CMS(RTCMS),根据网站板块定制的栏目,如果修改栏目,需要修改模板相应的标签。站点内容均可在后台网站基本设置中添加。全站可生成HTML,安装默认动态浏览。并可以独立设置SEO标题、关键字、描述信息。源码包中带有少量测试数据,安装时可选择演示安装或全新安装。如果全新安装,后台内容充实后,首页才能完全显示出来。(全新安装后可以删除演示数据用到的图片,目录在https://
立即学习“Java免费学习笔记(深入)”;
- double result = 5 / 2; → 结果是 2.0(先算 int 除法得 2,再转 double)
- 要得到精确小数结果,至少一个操作数写成 double:5.0 / 2 或 5 / 2.0 → 2.5
- 强制转换需显式写:double d = (double) 10 / 3;(括号保证先转再除)
常见用途与注意事项
- 物理模拟、图形坐标、传感器读数等对精度要求适中、但需小数支持的场景很合适
- 打印时可用 System.out.printf("%.2f", d) 控制小数位数
- Double.NaN、Double.POSITIVE_INFINITY 等特殊值可用于异常检测
- 包装类 Double 支持 null、集合存储和工具方法(如 Double.parseDouble("3.14"))
基本上就这些。double 不复杂但容易忽略精度陷阱,用对场景才真正好用。










