Java格式化數字——右對齊,左補0

 我們在做數據處理的時候,根據具體要求,可能需要對某些數據,比如數字、字符串,進行格式化輸出。其中較爲常見的是對數字進行右對齊輸出,比如右對齊,左補0.例如:數字12,格式化爲0012,數字123,格式化爲0123.
下面是實現該需求的兩種方法,利用了java本身的格式化功能。
package test;      
public class FormatTest   

{   

  

      

    public static void main(String[] args)   

    {   

        int number1 = 5;   

        int number2 = 0;   

       int number3 = -12;   

  

        System.out.println("\n------------------  方法 1  ------------\n");   

        java.text.DecimalFormat format = new java.text.DecimalFormat("0000");   

        System.out.println(format.format(number1));   

        System.out.println(format.format(number2));   

        System.out.println(format.format(number3));   

  

        System.out.println("\n------------------  方法 2  ------------\n");   

        // 0 代表前面補充0   

        // 4 代表長度爲4   

       // d 代表參數爲正數型   

        String str1 = String.format("%04d", number1);   

        String str2 = String.format("%04d", number2);   

        String str3 = String.format("%04d", number3);   

        System.out.println(str1);   

        System.out.println(str2);   

        System.out.println(str3);   

    }   

}   


下面這段代碼,可以處理字符串的右對齊輸出,可以自定義補充的字符(不僅限於0),可以自定義補充後字符串的長度。
    // c 要填充的字符   
    // l 填充後字符串的總長度   

   // string 要格式化的字符串   

   public static String flushLeft(char c, long l, String string)   

   {           String str = "";   

      long cl = 0;   

       String cs = "";   

       if (string.length() > l)   

           str = string;   

       else  

           for (int i = 0; i < l - string.length(); i++)   

               cs = cs + c;   

       str = string + cs;    

        return str;    

    }

  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章