0001 + 1 = 0002,01 + 1 = 02

package com.test.test;
/**
 *
 * @ClassName: IntDigitPadded
 *
 * @Description: 數字位數補齊,若是此數小於定義總位數,則前面補零
 * @author PineTree
 * @date 2014年12月19日 下午3:57:38
 * @version
 */
public class IntDigitPadded {
    public static void main(String[] args) {
        IntDigitPadded idp = new IntDigitPadded();
        int i = 10;
        int j = 1;
        System.out.println(String.format("%02d", i + j));
        System.out.println(idp.formatNum(i, j, 4));
        System.out.println(idp.formatNumber(i, 6));
        System.out.println(idp.formatNumbers(j, i));
    }
    
    /**
     * 若是數字相加(減)後的值小於定義的數字總長度時前面補零
     *
     * @param i int類型i
     * @param j int類型j
     * @param digits 數字總位數
     * 如:0001 + 1 = 0002;digits值爲4
     * 如:01 + 1 = 02;digits值爲2
     * digits值是根據你的數字總長度來決定
     * @return
     */
    public String formatNum(int i, int j, int digits){
        //String.format("%0 + 總位數 + d", 數字1 + 數字2)
        return String.format("%0" + digits + "d", i + j);
    }
    
    /**
     * 若是數字位數小於定義總長度,前面補零
     *
     * @param i 須要補齊的數字
     * @param digits 數字總位數
     * @return String
     */
    public String formatNumber(int i, int digits) {
        //String.format("%0 + 總位數 + d", 需轉換數字)
        return  String.format("%0" + digits + "d", i);
    }
    
    /**
     * 獲取X-Y之間的數字,若是X-Y之間小於定義總長度,那麼此數字前用零補齊
     *
     * @param startNum 開始數字
     * @param EndNum 結束數字
     * @return String[]
     */
    public String[] formatNumbers(int startNum,int EndNum){
        int len = (EndNum - startNum) + 1; // 獲取要循環的數組長度
        System.out.println("length = " + len);
        String[] numbers = new String[len];
        String str = ""; // 第i個數值
        for(int i = 0; i < len; i++){
            System.out.println("i = " + i);
            str = String.format("%04d", startNum++);
            System.out.println(str);
            numbers[i] = str;
        }
        return numbers;
    }
}

git

相關文章
相關標籤/搜索