Android String.format 用法

String.format()使用指定的区域设置、格式字符串和参数返回格式化字符串,方法定义如下:

参数一:格式化期间要应用的区域设置

参数二:格式字符串

参数三:格式字符串中的格式说明符引用的参数。如果参数多于格式说明符,则忽略额外的参数。参数的数量是可变的,可以为零。参数的最大数量受Java定义的Java数组的最大维度限制™ 虚拟机规范。空参数的行为取决于转换。

返回结果:格式化后的字符串。

异常:“格式字符串包含非法语法”、“与给定参数不兼容的格式说明符”、“给定格式字符串的参数不足”会抛出java.util.IllegalFormatException异常。


格式字符串中可以给占位符指定使用哪个位置的参数,比如:%1$s  表示第一个参数是字符串类型。

可以分别为每个位置指定参数值:

//班长:%1$s;性别:%2$s;年龄:%3$d;
//班长:张三;性别:男;年龄:20;
val format1 = getString(R.string.string_format_multi_param)
val string1 = String.format(Locale.CHINA,format1, "张三", "男", 20)

也可以指定多个位置为相同的参数值:

//班长:%1$s;语文课代表:%1$s;班级第一名:%1$s;
//班长:张三;语文课代表:张三;班级第一名:张三;
val format2 = getString(R.string.string_format_one_param)
val string2 = String.format(Locale.CHINA,format2, "张三")

常用的占位符:

符号说明
%s字符串类型;     "张三"
%c字符类型;      'a'
%b布尔类型;      true
%d整数类型;      100
%x整数类型(十六进制);      FF
%o整数类型(八进制);      77
%f浮点类型;      0.01
%a浮点类型(十六进制); FF.1B
%e指数类型;9.5e+5
%%百分号;
%n换行符;
%hhashCode()值;

日期相关:

符号日期格式说明
%tx日期与时间类型:x代表日期格式
c%tc;星期四 三月 1 14:21:20 CST 2007
F%tF;  2018-03-01
D%tD;  03/01/18
r%tr;   02:25:51 下午
T%tT;  14:28:16
R%tR;  14:28

特殊用法:

符号说明案例 String.format结果
+整数添加符号("%+d", 1)+1
("%+d", -1)-1
0补零("%05d", 1)00001
空格补空格("% 5d", 1)※※※※1 (一个※表示一个空格)
,"以,"分割数字(用于显示金额)("%,f", 9999.99)9,999.99
.3小数点后保留3位("%.3f", 3.1415926)3.142
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值