欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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-十六进制


示例:

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' -- 结果被格式化为带有效位数和指数的十六进制浮点数
相关标签: Java F#