对java中String类format()方法的学习

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Java中String类中format()的运用

1.运用在整数身上:

函数为:public static String format(String format,Object... args)。

其中参数format的格式为:%[index$][标识][最小宽度]转换方式。

1.1.index的解释:

index表示从1(0和1都代表args是第一个的参数)开始取值,将第index 个参数转化为指定的format格式。

例如:

System.out.println(String.format("%2$05d", -323,23));

输出结果:

解释:"%2$05d"的2代表要转化的参数是23。

1.2.标识的解释:

'-'向左对齐(用0填充时不可用,会报错)。

'#'主要用于8进制和16进制,将参数转化为8进制和16进制分别在输出结果前加0、0x。

例子:

System.out.println(String.format("%1$#o", 323));

System.out.println(String.format("%1$#x", 6536));

输出结果

'+'结果总是包括一个符号(一般情况下只适用于10进制,若对象为BigInteger 才可以用于8进制和16进制)。

例子:

System.out.println(String.format("%1$+d", 323));

System.out.println(String.format("%1$+d", -6536));

输出结果:

' '正值前加空格,负值前加负号(一般情况下只适用于10进制,若对象为BigInteger才可以用于8进制和16进制)。

例子:

System.out.println(String.format("%1$ d", 323));

System.out.println(String.format("%1$ d", -6536));

输出结果:

'0'结果将用零来填充。

例子:

System.out.println(String.format("%1$05d", 323));

输出结果:

','只适用于10进制,每3位数字之间用“,”分隔。

例子:

System.out.println(String.format("%1$,d", 89986536))

输出结果:

'('若参数是负数,则结果中不添加负号而是用圆括号把数字括起来,如果为正数,正数不管有“+”或无“+”输出结果不带“+”也不带括号。

例子:

System.out.println(String.format("%1$(d", -323));

System.out.println(String.format("%1$(d", +23));

输出结果:

1.3.最小宽度:

此处直接用例子,给参数指定宽度为5,不足的用0填充。

例子:

System.out.println(String.format("%1$05d", 323));

输出结果:

1.4.转换方式:

d表示十进制。

o表示八进制。

x或X表示十六进制。

2.运用在浮点数身上:

函数为:public static String format(String format,Object... args)

其中参数format的格式为:%[index$][标识][最小宽度][.精度]转换方式注:上文已经介绍,大部分原理与上文相同,此处将简单介绍:

2.1.标识的解释:

'-'向左对齐(用0填充时不可用,会报错)。

'+'结果总是包括一个符号,

' '正值前加空格,负值前加负号。

'0'结果将用零来填充。

','每3位数字之间用“,”分隔(只适用于fgG的转换)。

'('若参数是负数,则结果中不添加负号而是用圆括号把数字括起来(只适用于eEfgG的转换)。

2.2.精度的解释:

此处直接用例子,将323.0的精度定为10。

例子:

System.out.println(String.format("%1$.10f", 323.0));

输出结果:

2.3.转换方式:

'e', 'E'表示结果被格式化为用计算机科学记数法表示的十进制数。

例子:

System.out.println(String.format("%1$e", 0.323));

输出结果:

'f'表示结果被格式化为十进制普通表示方式。

'g', 'G'表示根据具体情况,自动选择用普通表示方式还是科学计数法方式。例子:

System.out.println(String.format("%1$G", 0.000000015));

输出结果:

'a', 'A'表示结果被格式化为带有效位数和指数的十六进制浮点数。

例子:

System.out.println(String.format("%1$a", 123.89558));

输出结果:

3.运用在字符身上:

标识:'-'表示左对齐。

转换方式:c表示字符,

4.运用在百分号身上:

看了上面的说明,大家会发现百分比符号“%”是特殊格式的一个前缀。那么我们要输入一个百分比符号该怎么办呢?肯定是需要转义字符的,但是要注意的是,在这里转义字符不是“\”,而是“%”。换句话说,下面这条语句可以输出一个“%45”:

例子:

System.out.println(String.format("%1$%%d", 45));

输出结果:

5.运用在日期和时间身上:

此处时间的转换符由't' 和 'T' 定义,占位符格式为:%[index$]t转换符5.1.日期转换符:

c,时间格式如:星期三一月 25 21:17:48 CST 2017。

例子:

System.out.println(String.format("%tc",new Date()));

输出结果:

F,时间格式如:2017-01-25。

例子:

System.out.println(String.format("%tF",new Date()));

输出结果:

D,日期格式如:01/25/17。

例子:

相关文档
最新文档