Android 中 实现格式化字符串
在 Android 中,可以通过格式化字符串的方式,实现各种特殊格式字符串的效果。
1、实现步骤:
- 在 strings.xml 里使用 带编号的占位符(如 %1s、s、%2s、d)。
- 代码中通过 String getString(@StringRes int resId, Object… formatArgs) 来获取具体内容。
2、在 strings.xml 中定义
<string name="hello">你好,%1$s!</string><string name="helloDay">你好,%1$s,今天是%2$d号!</string>
- 需要注意,如果需要在字符串中输出 % 符合,需要%%格式实现:
<string name="percent">百分比为:%1$d%%</string>
3、常见格式占位符
占位符 | 含义 | 示例 |
---|---|---|
%1$s | 第1个参数,字符串(s = string) | 小明 |
%2$d | 第2个参数,整数(d = decimal) | 18 |
%3$.2f | 第3个参数,浮点数,保留2位小数 | 3.14 |
%4$tc | 第4个参数,日期时间(完整格式) | Mon Jul 14 10:30:00 GMT+08:00 2025 |
4、代码实现
val helloStr = context.getString(R.string.hello, "张三")val helloDayStr = context.getString(R.string.helloDay, "张三", 3)val percentStr = context.getString(R.string.percent, 21)
- 输出结果为:
你好,张三!你好,张三,今天是3号!百分比为:21%