使用String.format("%.2f", 3.14159)可保留两位小数并返回字符串;2. System.out.printf("价格:%.2f元%n", 19.876)直接格式化输出并换行;3. DecimalFormat df = new DecimalFormat("0.00")可灵活控制小数位和千分位,适合复杂格式需求。

在Java中控制输出格式的精度,通常用于保留小数位数或对齐输出。常用的方法包括 String.format()、System.out.printf() 和 DecimalFormat 类。下面介绍几种实用方式。
使用 String.format() 控制精度
String.format() 返回一个格式化后的字符串,适合需要存储结果而不是直接输出的场景。
语法格式为:%.n f,其中 n 表示保留的小数位数,f 表示浮点数。
例如:
立即学习“Java免费学习笔记(深入)”;
- String result = String.format("%.2f", 3.14159); // 输出 "3.14"
- System.out.println(result);
使用 System.out.printf() 直接输出
如果只是想打印结果,可以直接用 System.out.printf(),它和 String.format() 使用相同的格式规则。
Python v2.4版chm格式的中文手册,内容丰富全面,不但是一本手册,你完全可以把她作为一本Python的入门教程,教你如何使用Python解释器、流程控制、数据结构、模板、输入和输出、错误和异常、类和标准库详解等方面的知识技巧。同时后附的手册可以方便你的查询。
- System.out.printf("价格:%.2f元%n", 19.876); // 输出 "价格:19.88元"
%n 表示换行符,比 \n 更跨平台安全。
使用 DecimalFormat 灵活控制格式
对于更复杂的格式需求(如千分位、前导零),推荐使用 java.text.DecimalFormat。
示例:
- DecimalFormat df = new DecimalFormat("0.00");
- System.out.println(df.format(3.1)); // 输出 "3.10"
也可以设置更多模式,比如 "#,##0.00" 可以添加千分位逗号。
常见格式符号说明
- %.2f:保留两位小数,四舍五入
- %d:整数输出
- %s:字符串输出
- %8.2f:总宽度至少8个字符,保留2位小数,右对齐
- %-8.2f:左对齐,其余同上
基本上就这些方法,根据使用场景选择即可。如果是简单输出,printf 最方便;需要复用格式时,DecimalFormat 更灵活。









