0
点赞
收藏
分享

微信扫一扫

String.format()方法占位符

半秋L 2023-11-25 阅读 47

格式化字符串由4部分组成,特殊的格式常以%index$开头,index从1开始取值,表示将第index个参数拿进来进行格式化,[最小宽度]的含义也很好理解,就是最终该整数转化的字符串最少包含多少位数字。剩下2个部分的含义:

标识如下:

  • -在最小宽度内左对齐,不可以与"用0填充"同时使用
  • #只适用于8进制和16进制,8进制时在结果前面增加一个0,16进制时在结果前面增加0x
  • +结果总是包括一个符号(一般情况下只适用于10进制,若对象为BigInteger才可以用于8进制和16进制)
  •  正值前加空格,负值前加负号(一般情况下只适用于10进制,若对象为BigInteger才可以用于8进制和16进制)
  • 0结果将用零来填充
  • ,只适用于10进制,每3位数字之间用","分隔
  • (若参数是负数,则结果中不添加负号而是用圆括号把数字括起来(同’+'具有同样的限制)

例如:

System.out.println(String.format("%1$-9d", 312356));
312356
System.out.println(String.format("%1$#9x", 312356));
  0x4c424
System.out.println(String.format("%1$-#9o", 312356));
01142044
System.out.println(String.format("%1$+9d", 312356));
  +312356
System.out.println(String.format("%1$ 9d", 312356));
   312356
System.out.println(String.format("%1$ 9d", -312356));
  -312356
System.out.println(String.format("%1$09d", 312356));
000312356
System.out.println(String.format("%1$,9d", 312356));
  312,356
System.out.println(String.format("%1$(9d", 312356));
   312356


举报

相关推荐

0 条评论