String.format()的使用
今天,我觉得自己其实也没有什么可以写的东西,不过还是为了保持写博客的习惯,所以在网上找了一些内容。其实也很简单。大家有兴趣可以自己去查找资料。
常规类型的格式化
String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。format()方法有两种重载形式。
format(String format, Object... args) 新字符串使用本地语言环境,制定字符串格式和参数生成格式化的新字符串。
format(Locale locale, String format, Object... args) 使用指定的语言环境,制定字符串格式和参数生成格式化的字符串。
显示不同转换符实现不同数据类型到字符串的转换,如图所示。
转 换 符 |
说 明 |
示 例 |
%s |
字符串类型 |
"mingrisoft" |
%c |
字符类型 |
'm' |
%b |
布尔类型 |
true |
%d |
整数类型(十进制) |
99 |
%x |
整数类型(十六进制) |
FF |
%o |
整数类型(八进制) |
77 |
%f |
浮点类型 |
99.99 |
%a |
十六进制浮点类型 |
FF.35AE |
%e |
指数类型 |
9.38e+5 |
%g |
通用浮点类型(f和e类型中较短的) |
|
%h |
散列码 |
|
%% |
百分比类型 |
% |
%n |
换行符 |
|
%tx |
日期与时间类型(x代表不同的日期与时间转换符 |
搭配转换符的标志,如图所示。
标 志 |
说 明 |
示 例 |
结 果 |
+ |
为正数或者负数添加符号 |
("%+d",15) |
+15 |
− |
左对齐 |
("%-5d",15) |
|15 | |
0 |
数字前面补0 |
("%04d", 99) |
0099 |
空格 |
在整数之前添加指定数量的空格 |
("% 4d", 99) |
| 99| |
, |
以“,”对数字分组 |
("%,f", 9999.99) |
9,999.990000 |
( |
使用括号包含负数 |
("%(f", -99.99) |
(99.990000) |
# |
如果是浮点数则包含小数点,如果是16进制或8进制则添加0x或0 |
("%#x", 99) ("%#o", 99) |
0x63 0143 |
< |
格式化前一个转换符所描述的参数 |
("%f和%<3.2f", 99.45) |
99.450000和99.45 |
$ |
被格式化的参数索引 |
("%1$d,%2$s", 99,"abc") |
99,abc |
这个上面讲了一大堆内容,其实是一些基本功,有兴趣的可以深入了解。在android的使用很简单,
1.在string.xml文件中定义一个字符串,然后在代码中通过String.format方法来格式化该字符串,比如:
<string name="today_state_string">您正与%1$d位朋友在一起游戏,本周排名提升了%2$.3f,获得%3$s的称号,等级为%4$c!</string>
private void showTodayState( int totalUser, float upRate, String hornor, char level ){
String todayStateStr = String.format( getResources( ).getString( R.string.today_state_string), totalUser, upRate, hornor, level );
mTodayStateTxt.setText( todayStateStr );
}
从上面这行字符串的定义可以看出,格式化字符串资源的格式为:
%+参数位置+$+格式化类型,其中:
参 数 位 置:从1开始依次编号,String.forma方法的第二个参数为格式化的第一个参数,后面依次递增;
格式化类型:
s 字符串
f 浮点数
d 整型数
c 字符类型
说了这么多,其实就是定义一个字符串,在字符串里放入可以变化的参数,按照%n$ms(d):代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格,s代表字符串(d代表数字),然后通过String.format(getResources().getString(R.string.定义的字符串资源),参数的数值)。
String.format()的使用就讲完了,自己把网上的几篇博客的内容整理到一起,讲的比较乱,所以大家有兴趣可以自己去查找资料。
就这么简单。
String.format()的使用相关推荐
- Java / Android String.format 的使用
String类的format()方法用于创建格式化的字符串以及连接多个字符串对象. 自己使用的地方1 拼接字符串 2 ,多语言文字顺序不同问题,例如中文:距离到公司还有30分钟, 时间是接口获取的, ...
- android String.format
资源创建: <!-- 多参数验证 --> <string name="text">截止到:%1$tc\n销售量比去年增长了%2$d%%\n在这里我对 ...
- String.Format格式说明
C#格式化数值结果表 字符 说明 示例 输出 C 货币 string.Format("{0:C3}", 2) $2.000 D 十进制 string.Format("{0 ...
- String.Format()方法
String.Format方法是我们在.Net应用开发时经常使用到的,它的灵活使用有时能够达到事半功倍的效果,下面我们就借用MSDN上的一个示例来向大家展示String.Format的各种用法. 该示 ...
- ASP.NET设置数据格式与String.Format使用总结
{0:d} YY-MM-DD {0:p} 百分比00.00% {0:N2} 12.68 {0:N0} 13 {0:c2} $12.68 {0:d} 3/23/2003 {0:T} 12:00:00 ...
- String.format()【演示具体的例子来说明】
String.format()[演示样例具体解释] 整理者:Vashon 前言: String.format 作为文本处理工具.为我们提供强大而丰富的字符串格式化功能,为了不止步于简单调用 Strin ...
- C#:String.Format数字格式化输出
C#:String.Format数字格式化输出 int a = 12345678; //格式为sring输出 // Label1.Text = string.Format("asd ...
- Java String.format() : 字符串格式化
2019独角兽企业重金招聘Python工程师标准>>> 1.常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象. 1.format(S ...
- string Format转义大括号
String.Format("{0} world!","hello") //将输出 hello world!,没有问题,但是只要在第一个参数的任意位置加上一个大 ...
- String.Format in javascript
有些时候,我们确实需要在JavaScript中进行字符串替换,类似于C#中的String.Format()方法一样,只不过这种格式化替换只局限于对由'{0}','{1}','{2}'...所组成的&q ...
最新文章
- 【廖雪峰python入门笔记】set
- C语言宏定义中使用 do{}while(0) 的情形
- 字符串的原样输入输出python_Python字符串输入输出简述
- zhlan--Python中常见的几种格式化输出
- SHELL编程中如果路径名遇到括号
- 计算机启用时间 查找方式,电脑实用知识技巧 篇六:不需要第三方软件,这种方法查看系统启动时间...
- mitmproxy抓包 | Python双篡改假请求实战(六)
- linux mysql ssh通道_通过SSH通道来访问MySQL
- spring cloud入门组件教程
- ElasticSearch安装
- 基于halcon的颜色识别---杜邦线识别
- eleme项目框架搭建及eslint常见报错(含图标字体库说明)
- 注意int类型数据相加的溢出
- Heka GeoIpDecoder 配置
- 论劳动生产力进步的原因,兼论劳动产品在不同阶级人民之间自然分配顺序(读后感)
- Bumped! 2017 ICPC North American Qualifier Contest (分层建图+dijstra)
- 子线程与主线程之间的通信
- java集成kettle 9.2.0开发
- 接口调用成功,功能实现但是返回404报错
- 【JavaSE】----- Java语言的介绍
热门文章
- 软测homework2
- slice 和 splice 区别
- hibernate之工具类
- TextView 显示内容时出现 ArrayIndexOutOfBoundsException 的解决方法(Android 4.1)
- IOS 2D游戏开发框架 SpriteKit--续(创建敌对精灵)
- 深入V8引擎-AST(2)
- 【linux 06】 linux中的用户权限、文件权限与目录权限
- LeetCode # Array # Easy # 217. Contains Duplicate
- 安装python解释器
- 使用CXF 2.7.5出现的java.lang.RuntimeException: Cannot create a secure XMLInputFactory错误解决...