java中String.format()的使用

       最近的工作重点在搞HOTP算法,其实对时间的格式化中有一行String fmtTime = String.format("%1$-11s", testTime[i]);这样的代码,查API没太搞清楚是怎么回事,后来经搜索资料查出其使用方法。

        String.format()就是格式化的意思,将各类数据格式化为字符串输出,上段的那句代码的意思是将时间格式化为unix时间,即(UTC) 1970 年 1 月 1 日 00:00:00 至现在所经过的秒数。

 

         列下format使用的方法:

 

 1.对整数进行格式化:%[index$][标识][最小宽度]转换方式
 

       格式化字符串由4部分组成,特殊的格式通通以%index$开头,index从1开始取值,表示将第index个参数拿进来进行格式化,[最小宽度]的含义,就是最终该整数转化的字符串最少包含多少位数字。剩下2个部分的含义
 
  标识:
 
  '-' 在最小宽度内左对齐,不可以与“用0填充”同时使用
 
  '#' 只适用于8进制和16进制,8进制时在结果前面增加一个0,16进制时在结果前面增加0x
 
  '+' 结果总是包括一个符号(一般情况下只适用于10进制,若对象为BigInteger才可以用于8进制和16进制)
 
  '0' 结果将用零来填充
 
  ',' 只适用于10进制,每3位数字之间用“,”分隔
 
  '(' 若参数是负数,则结果中不添加负号而是用圆括号把数字括起来(同‘+’具有同样的限制)

 

      下边是例子:

       System.out.println(String.format("%1$,09d", -33123));
     
       System.out.println(String.format("%1$-9d", -66));
     
       System.out.println(String.format("%1$(9d", -6));
     
       System.out.println(String.format("%1$#9x", 1111));
       结果分别是:-0033,123

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值