Android string %1$s %1$d

时间:2022-09-15 13:58:54
example:
 
 
<string name="delete_account">您确定要删除账号%1$s吗?</string>

 
String account= getString(R.string.delete_account);        account= String.format(account, "test01");
Log.d("format","+++"+accout);

输出结果: 您确定要删除账号test01吗?
 
 
说明:
 

属性id可以随便命名 
属性值举例说明
%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格 
%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0 
%n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为00.00 

也可简单写成:

%d   (表示整数)

%f    (表示浮点数)

%s   (表示字符串)

源码中:

 
Object... args :为长度可变参数!

 public static String format(String format, Object... args) {
        return format(Locale.getDefault(), format, args);
    }


扩展:
<string name="test">明今年%1$d岁了,上%2$s年级!</string>
String test = String.format(getResources().getString(R.string.test), 9, "小学四");