Android中格式化字符串
来源:互联网 发布:淘宝优惠券代码生成 编辑:程序博客网 时间:2024/05/01 03:02
在Android中想要格式化字符串,可以通过getString(int resId, Object... formatArgs)方法完成,它是在抽象类Context中实现的final方法,因此在Activity等类中只能使用,不能被重写。其中参数resId是在strings.xml中定义的资源的ID,可变参数formatArgs是需要格式化的字符串。
其中,%1代表第一个需要格式化的参数,$s表示参数类型为字符串;注意在String.xml中定义格式化的字符串要写成%1$s的形式,不能直接写成%s。
但也要注意,Android官网建议Formatter类格式化日期的功能应该用SimpleDateFormat类来代替。
例如要格式化日期,可以在strings.xml中定义如下的名值对:
<string name="date_format">日期:%1$s日-%2$s月-%3$s年</string>
其中,%1代表第一个需要格式化的参数,$s表示参数类型为字符串;注意在String.xml中定义格式化的字符串要写成%1$s的形式,不能直接写成%s。
在Activity中调用如下:
getString(R.string.date_format,"8","6","2014"); // 日期:8日-6月-2014年
但也要注意,Android官网建议Formatter类格式化日期的功能应该用SimpleDateFormat类来代替。
还可以使用下面的方法格式化字符串
<string name="signin_upload_count">上传人数:%1$d</string> String valueString = getResources().getString(R.string.signin_upload_count); valueString = String.format(valueString, 2);
从上面这行字符串的定义可以看出,格式化字符串资源的格式为:
%+参数位置+$+格式化类型,其中:
参 数 位 置:从1开始依次编号,String.forma方法的第二个参数为格式化的第一个参数,后面依次递增;
%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格
%n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0
%n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=2.2时,输出格式为00.00
格式化类型:
s 字符串
f 浮点数
d 整型数
c 字符类型
在string.xml文件中定义好格式化的字符串资源,通过代码动态设置字符串内容时,必须确保String.format方法里面的参数不少于字符串资源中定义的格式化参数个数(实践证明多了参数是不会报异常的)。
0 0
- Android中格式化字符串
- Android中格式化字符串
- android中的格式化字符串
- Android字符串格式化
- Android字符串格式化
- Android字符串格式化输出
- Android 格式化字符串资源
- android中的格式化字符串
- Android格式化字符串
- Android字符串格式化
- java & android格式化字符串
- Android字符串格式化
- UltraWebGrid中格式化字符串
- ruby中格式化字符串
- python中格式化字符串
- Python中格式化字符串
- JAVA中字符串格式化
- Android项目里,strings文件中字符串的格式化用法
- android - Webview嵌套于ScrollView页面有空白
- linux下实时查看tomcat运行日志
- redis接入sentinelPool的配置
- linux基础篇读书笔记2_后台执行命令
- 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。
- Android中格式化字符串
- 部署tomcat暴露html格式日志,并定期清理日志
- 5.o新特新
- Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式)介绍
- logstash 采集 Java log4j的日志(全面介绍)
- Nexus 6P Andriod 7.0 NRD9M ROOT教程
- response.setContentType()的作用及参数
- androidannotations注解框架使用
- 转自知乎某个问题,解答了我很久的疑问,关于网销拉客户白银贵金属期货