转换符 详细说明 示例
%s 字符串类型 “喜欢请收藏”
%c 字符类型 ‘m’
%b 布尔类型 true
%d 整数类型(十进制) 88
%x 整数类型(十六进制) FF
%o 整数类型(八进制) 77
%f 浮点类型 8.888
%a 十六进制浮点类型 FF.35AE
%e 指数类型 9.38e+5
// 补齐空格并右对齐:
String.format("%10s, world", "Hello");     // 输出 "     Hello, world"
String.format("%8d", 123);                 // 输出 "     123"

// 补齐空格并左对齐:
String.format("%-10s, world", "Hello");    // 输出 "Hello     , world"
String.format("%-8d", 123);                // 输出 "123     "

// 补齐 0 并对齐(仅对数字有效)
String.format("%08d", 123);                // 输出 "00000123"
String.format("%-08d", 123);               // 错误!不允许在右边补齐 0

// 输出最多N个字符
String.format("%.5s", "Hello, world");       // 输出 "Hello"
String.format("%.5s...", "Hello, world");    // 输出 "Hello..."
String.format("%10.5s...", "Hello, world");  // 输出 "     Hello..."

// 输出逗号分隔数字
String.format("%,d", 1234567);               // 输出 "1,234,567"

搭配转换符还有实现高级功能

标志 说明 示例 结果
+ 为正数或者负数添加符号 (“%+d”,15) +15
0 数字前面补0(加密常用) (“%04d”, 99) 0099
空格 在整数之前添加指定数量的空格 (“% 4d”, 99) 99
, 以“,”对数字分组(常用显示金额) (“%,f”, 9999.99) 9,999.990000
- 左对齐,不够位数的地方补上空格 ("%-6d",8) 8