JAVA字符串长度不足左右补0

本文参考自:http://www.51zdd.com/java_format_str_with_zero.html

 

今天碰到一简单的功能,就是把字符串格式化成9位,不足的前面补0。懒人就想一行代码解决这个问题,后来发现能一行代码补足倍数的,前面都是补的空格,而要想补0的,都是需要整数型。用到的函数是 String.format,可以格式化整形,字符串,日期等,具体请百度。

System.out.println(String.format(“%09d”, 123);
输出:000000123

System.out.println(String.format(“%9s”, “123″);
输出: 123

刚好我那字符串是可以转换成整型的,所以代码如下:
System.out.println(String.format(“%09d”, Long.parseLong(“123″)));
输出:000000123

摘下网上的字符串补0方法,测试可用:

public  static  String addZeroForNum ( String str,  int strLength )  {
     int strLen  = str. length ( ) ;
     if  (strLen  < strLength )  {
         while  (strLen  < strLength )  {
             StringBuffer sb  =  new  StringBuffer ( ) ;
            sb. append ( "0" ). append (str ) ; // 左补0
             // sb.append(str).append("0");//右补0
            str  = sb. toString ( ) ;
            strLen  = str. length ( ) ;
         }
     }

     return str ;
}

你可能感兴趣的:(java)