实例
例子 1
向控制台打印一些格式化的文本。
%s 字符是字符串 "World" 的占位符:
System.out.printf("Hello %s!", "World");
亲自试一试
例子 2
打印包含字符串和整数的格式化文本:
System.out.printf("Hello %s! One kilobyte is %,d bytes.", "World", 1024);
亲自试一试
例子 3
以不同方式格式化浮点数:
// 默认
System.out.printf("%f%n", 123456.78);
// 两位小数
System.out.printf("%.2f%n", 123456.78);
// 无小数位数
System.out.printf("%.0f%n", 123456.78);
// 无小数位数但保留小数点
System.out.printf("%#.0f%n", 123456.78);
// 分组数字
System.out.printf("%,.2f%n", 123456.78);
// 科学记数法,精确到两位小数
System.out.printf("%.2e", 123456.78);
亲自试一试
例子 4
使用所有组件的占位符:
System.out.printf("%2$,3.2f %1$s", "meters", 1260.5052);
这是占位符 %2$,3.2f 各部分的工作方式:
2$ 表示使用第二个参数的值
, 表示数字应分组(通常按千位)
3 表示数据的表示形式应至少为 3 个字符长
.2 表示小数点后应有两位数字
f 表示数据被表示为浮点数
亲自试一试
例子 5
以不同的顺序使用参数:
System.out.printf("%3$c %2$c %1$c", 'a', 'b', 'c');
亲自试一试
例子 6
用 Unix 时间戳格式化日期:
long date = 1711638903488L; // Unix timestamp (number of milliseconds since January 1, 1970)
// 时间
System.out.printf("%tl:% // 月份和日期 System.out.printf("%tB % // 完整日期表示 System.out.printf("%tc%n", date); 亲自试一试 例子 7 通过 Unicode 码点表示字符: // 通过 Unicode 码点表示字符 System.out.printf("%c%c%c%c%c%n", 72, 101, 108, 108, 111); // 强制将 Unicode 字符转换为大写 System.out.printf("%C%C%C%C%C", 72, 101, 108, 108, 111); 亲自试一试