String.format使用
目录
一、前言
二、重载方法
三、占位符
四、对字符、字符串进行格式化
五、对整数进行格式化
六、对浮点数进行格式化
七、对日期时间进行格式化
八、其他转换符
九、总结
参考
一、前言
String.format 作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,为了不止步于简单调用 String.format("Hello %s", "John");
,下面将笔记整理并记录下来。
二、重载方法
// 使用当前本地区域对象(Locale.getDefault())格式化字符串 String String.format(String fmt, Object... args);
// 自定义本地区域对象格式化字符串
String String.format(Locale locale, String fmt, Object… args);
三、占位符
占位符完整格式为: %[index$][标识]*[最小宽度][.精度]转换符 。
针对不同数据类型的格式化,占位符的格式将有所裁剪。
% ,占位符的其实字符,若要在占位符内部使用%,则需要写成 %% 。
[index$] ,位置索引从1开始计算,用于指定对索引相应的实参进行格式化并替换掉该占位符。
[标识] ,用于增强格式化能力,可同时使用多个 [标识] ,但某些标识是不能同时使用的。
[最小宽度] ,用于设置格式化后的字符串最小长度,若使用 [最小宽度] 而无设置 [标识] ,那么当字符串长度小于最小宽度时,则以左边补空格的方式凑够最小宽度。
[.精度] ,对于浮点数类型格式化使用,设置保留小数点后多少位。
转换符 ,用于指定格式化的样式,和限制对应入参的数据类型。
四、对字符、字符串进行格式化
占位符格式为: %[index$][标识][最小宽度]转换符
示例——将"hello"格式化为" hello"
String raw = "hello"; String str = String.format("%1$7s", raw); // 简化 //String str = String.format("%7s", raw);
示例——将"hello"格式化为"hello "
String raw = "hello"; String str = String.format("%1$-7s", raw); // 简化 //String str = String.format("%-7s", raw);
可用标识:
-,在最小宽度内左对齐,右边用空格补上。
可用转换符:
s,字符串类型。
c,字符类型,实参必须为char或int、short等可转换为char类型的数据类型,否则抛IllegalFormatConversionException异常。
b,布尔类型,只要实参为非false的布尔类型,均格式化为字符串true,否则为字符串false。
n,平台独立的换行符(与通过 System.getProperty("line.separator") 是一样的)
五、对整数进行格式化
占位符格式为: %[index$][标识]*[最小宽度]转换符
示例——将1显示为0001
int num = 1; String str = String.format("%04d", num)
示例——将-1000显示为(1,000)
int num = -1000; String str = String.format("%(,d", num)
可用标识:
![](/assets/blank.gif)
-,在最小宽度内左对齐,不可以与0标识一起使用。 0,若内容长度不足最小宽度,则在左边用0来填充。 #,对8进制和16进制,8进制前添加一个0,16进制前添加0x。 +,结果总包含一个+或-号。 空格,正数前加空格,负数前加-号。 ,,只用与十进制,每3位数字间用,分隔。 (,若结果为负数,则用括号括住,且不显示符号。
![](/assets/blank.gif)
可用转换符:
b,布尔类型,只要实参为非false的布尔类型,均格式化为字符串true,否则为字符串false。 d,整数类型(十进制)。 x,整数类型(十六进制)。 o,整数类型(八进制) n,平台独立的换行符, 也可通过System.getProperty("line.separator")获取
六、对浮点数进行格式化
占位符格式为: %[index$][标识]*[最小宽度][.精度]转换符
示例:
double num = 123.4567899; System.out.print(String.format("%f %n", num)); // 123.456790 System.out.print(String.format("%a %n", num)); // 0x1.edd3c0bb46929p6 System.out.print(String.format("%g %n", num)); // 123.457
可用标识:
![](/assets/blank.gif)
-,在最小宽度内左对齐,不可以与0标识一起使用。 0,若内容长度不足最小宽度,则在左边用0来填充。 #,对8进制和16进制,8进制前添加一个0,16进制前添加0x。 +,结果总包含一个+或-号。 空格,正数前加空格,负数前加-号。 ,,只用与十进制,每3位数字间用,分隔。 (,若结果为负数,则用括号括住,且不显示符号。
![](/assets/blank.gif)
可用转换符:
![](/assets/blank.gif)
b,布尔类型,只要实参为非false的布尔类型,均格式化为字符串true,否则为字符串false。 n,平台独立的换行符, 也可通过System.getProperty("line.separator")获取。 f,浮点数型(十进制)。显示9位有效数字,且会进行四舍五入。如99.99。 a,浮点数型(十六进制)。 e,指数类型。如9.38e+5。 g,浮点数型(比%f,%a长度短些,显示6位有效数字,且会进行四舍五入)
![](/assets/blank.gif)
七、对日期时间进行格式化
占位符格式为: %[index$]t转换符
示例:
Date now = new Date(); String str = String.format("%tF", now); // 2014-10-12
可用转换符
1. 日期的转换符
![](/assets/blank.gif)
c,星期六 十月 27 14:21:20 CST 2007 F,2007-10-27 D,10/27/07 r,02:25:51 下午 T,14:28:16 R,14:28 b, 月份简称 B, 月份全称 a, 星期简称 A, 星期全称 C, 年前两位(不足两位补零) y, 年后两位(不足两位补零) j, 当年的第几天 m, 月份(不足两位补零) d, 日期(不足两位补零) e, 日期(不足两位不补零)
![](/assets/blank.gif)
2. 时间的转换符
![](/assets/blank.gif)
H, 24小时制的小时(不足两位补零) k, 24小时制的小时(不足两位不补零) I, 12小时制的小时(不足两位补零) i, 12小时制的小时(不足两位不补零) M, 分钟(不足两位补零) S, 秒(不足两位补零) L, 毫秒(不足三位补零) N, 毫秒(不足9位补零) p, 小写字母的上午或下午标记,如中文为“下午”,英文为pm z, 相对于GMT的时区偏移量,如+0800 Z, 时区缩写,如CST s, 自1970-1-1 00:00:00起经过的秒数 Q, 自1970-1-1 00:00:00起经过的豪秒
![](/assets/blank.gif)
八、其他转换符
<,用于格式化前一个转换符所描述的参数。
示例:
int num = 1000; String str = String.format("%d %<,d", num); // 结果"1000 1,000
参考
http://blog.csdn.net/lonely_fireworks/article/details/7962171
http://www.cnblogs.com/xytop/articles/1277125.html
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 ...
最新文章
- ios 如何在cell中去掉_IOS之表视图单元格删除、移动及插入
- View scrolly 正负问题
- It Smells!不要让两个状态纠缠的类同时成为某个事件的观察者(一切都只是视图)...
- s2sh乱码一个小处理(新手按流程走)
- 【 转 】Keepalived工作原理
- C代码开发遇到的问题 变量初始化和结构体指针移动
- esp32 tool指令参数及说明
- 数据结构实验之排序七:选课名单
- distinct过滤掉重复记录并且显示所有字段_MySQL的所有姿势,我都帮你准备好了...
- linux服务器虚拟内存设置,修改Linux服务器虚拟内存Swap大小
- 案例33:灭火器及其配置验收案例分析
- 六石管理学:新增一类产品问题,面子类问题
- python opencv 找到圆点标定板所有点后通过距离找两个角点4
- iOS数据库的使用(二):sqlite教程
- xp系统snmp安装包_一款纯净的PE系统
- 基于TCP的网络聊天系统
- 【生信技能树】GEO数据库挖掘 P5
- 计算机的超级登录用户名和密码,登录到windows用户名和密码
- OSM和PBF数据格式说明
- Mac 系统下java端口占用