JAVA String.format 的使用(待续)
程序员文章站
2022-07-14 23:52:08
...
如果想对字符串进行格式化输出,则可以使用String中的静态方法format来实现。
format有两种形式:
1)指定Locale,形如:format(Locale l, String format, args);
2)默认Locale,形如:format(String format, args).
一、对整数进行格式化:%[color=orange]index[/color]$[color=blue]标识[/color][color=violet]最小宽度[/color][color=darkred]转换方式[/color]
[color=blue]标识[/color]说明:
[table]
|'-' 在最小宽度内左对齐,不可以与“用0填充”同时使用
|
|'#' 只适用于8进制和16进制,8进制时在结果前面增加一个0,16进制时在结果前面增加0x
|
|'+' 结果总是包括一个符号(一般情况下只适用于10进制,若对象为BigInteger才可以用于8进制和16进制)
|
|' ' 正值前加空格,负值前加负号(一般情况下只适用于10进制,若对象为BigInteger才可以用于8进制和16进制)
|
|'0' 结果将用零来填充
|
|',' 只适用于10进制,每3位数字之间用“,”分隔
|
|'(' 若参数是负数,则结果中不添加负号而是用圆括号把数字括起来(同‘+’具有同样的限制)|
[/table]
[color=darkred]转换方式[/color]:
d-十进制 o-八进制 x或X-十六进制
示例:
二、对浮点数对浮点数进行格式化:%[color=orange]index[/color]$[color=blue]标识[/color][color=violet]最少宽度[/color].[color=red]精度[/color][color=darkred]转换方式[/color]
[color=blue]标识[/color]说明:
[table]
|'-' 在最小宽度内左对齐,不可以与“用0填充”同时使用
|
|'+' 结果总是包括一个符号
|
|' ' 正值前加空格,负值前加负号
|
|'0' 结果将用零来填充
|
|',' 每3位数字之间用“,”分隔(只适用于fgG的转换)
|
|'(' 若参数是负数,则结果中不添加负号而是用圆括号把数字括起来(只适用于eEfgG的转换)|
[/table]
[color=darkred]转换方式[/color]:
'e', 'E' -- 结果被格式化为用计算机科学记数法表示的十进制数
'f' -- 结果被格式化为十进制普通表示方式
'g', 'G' -- 根据具体情况,自动选择用普通表示方式还是科学计数法方式
'a', 'A' -- 结果被格式化为带有效位数和指数的十六进制浮点数
format有两种形式:
1)指定Locale,形如:format(Locale l, String format, args);
2)默认Locale,形如:format(String format, args).
一、对整数进行格式化:%[color=orange]index[/color]$[color=blue]标识[/color][color=violet]最小宽度[/color][color=darkred]转换方式[/color]
[color=blue]标识[/color]说明:
[table]
|'-' 在最小宽度内左对齐,不可以与“用0填充”同时使用
|
|'#' 只适用于8进制和16进制,8进制时在结果前面增加一个0,16进制时在结果前面增加0x
|
|'+' 结果总是包括一个符号(一般情况下只适用于10进制,若对象为BigInteger才可以用于8进制和16进制)
|
|' ' 正值前加空格,负值前加负号(一般情况下只适用于10进制,若对象为BigInteger才可以用于8进制和16进制)
|
|'0' 结果将用零来填充
|
|',' 只适用于10进制,每3位数字之间用“,”分隔
|
|'(' 若参数是负数,则结果中不添加负号而是用圆括号把数字括起来(同‘+’具有同样的限制)|
[/table]
[color=darkred]转换方式[/color]:
d-十进制 o-八进制 x或X-十六进制
示例:
String.format(Locale.US, "%1$,08d", -12345);
String.format(Locale.US, "%1$8d", 12345);
String.format(Locale.US, "%1$(8d", -12345);
String.format(Locale.US, "%1$-8d", 12345);
String.format(Locale.US, "%1$#8x", 12345);
/*
执行结果为:
-012,345
12345
(12345)
12345
0x3039
*/
二、对浮点数对浮点数进行格式化:%[color=orange]index[/color]$[color=blue]标识[/color][color=violet]最少宽度[/color].[color=red]精度[/color][color=darkred]转换方式[/color]
[color=blue]标识[/color]说明:
[table]
|'-' 在最小宽度内左对齐,不可以与“用0填充”同时使用
|
|'+' 结果总是包括一个符号
|
|' ' 正值前加空格,负值前加负号
|
|'0' 结果将用零来填充
|
|',' 每3位数字之间用“,”分隔(只适用于fgG的转换)
|
|'(' 若参数是负数,则结果中不添加负号而是用圆括号把数字括起来(只适用于eEfgG的转换)|
[/table]
[color=darkred]转换方式[/color]:
'e', 'E' -- 结果被格式化为用计算机科学记数法表示的十进制数
'f' -- 结果被格式化为十进制普通表示方式
'g', 'G' -- 根据具体情况,自动选择用普通表示方式还是科学计数法方式
'a', 'A' -- 结果被格式化为带有效位数和指数的十六进制浮点数