[Java]常用的字串String函數function

字串或數字不足碼部份補零

/**
     * 數字不足部份補零回傳
     * @param str 數字
     * @param lenSize 數字最大長度,不足的部份補零
     * @return 回傳補零後字串數字
     */
    public static String MakesUpZero(int str, int lenSize) {
        return MakesUpZero(String.valueOf(str), lenSize);
    }

    /**
     * 數字不足部份補零回傳
     * @param str 字串
     * @param lenSize 字串數字最大長度,不足的部份補零
     * @return 回傳補零後字串數字
     */
    public static String MakesUpZero(String str, int lenSize) {
        String zero = "0000000000";
        String returnValue = zero;

        returnValue = zero + str;

        return returnValue.substring(returnValue.length() - lenSize);

    }
    public static void main(String args[])
    {
        //把字串123前方不足五碼的部份補零
        System.out.println("不足5碼部份補零:"+StringUtils.MakesUpZero("123", 5));
        //把數字123前方不足六碼的部份補零
        System.out.println("不足6碼部份補零:"+StringUtils.MakesUpZero(123, 6));
    }




字串判斷是否為空白,及字串、數字nvl

/**
     * 檢查字串是否為null或空白
     * @param value 傳入字串
     * @return 為空白或null則回傳true,否則則回傳false
     */
    public static boolean isEmpty(String value) {
        if (value == null || value.trim().equals(""))
            return true;
        else
            return false;
    }

    /**
     * 字串如果為空白或null則使用def取代
     * @param value 檢查之字串
     * @param def 如為空白或null 要取代的值
     * @return 回傳value或是def值
     */
    public static String nvl(String value, String def) {
        if (isEmpty(value))
            return def;
        else
            return value.trim();
    }

    /**
     * 字串為數字格式則轉換成數字回傳,否則則用預設值取代
     * @param str 要檢查的字串
     * @param def 不為數字時要回傳的預設值
     * @return 字串轉換成數字值
     */
    public static int intNvl(String str, int def) {
        try {
            return Integer.parseInt(str);
        } catch (Exception e) {
            return def;
        }

    }

    /**
     * 字串為數字格式則轉換成數字BigDecimal回傳,否則則用預設值取代
     * @param str 要檢查的字串
     * @param def 不為數字時要回傳的預設值BigDecimal
     * @return 字串轉換成數字值BigDecimal
     */
    public static BigDecimal BigDecimalNvl(String str, BigDecimal def) {
        try {
            return new BigDecimal(str);
        } catch (Exception e) {
            return def;
        }

    }
    public static void main(String args[])
    {
        //檢查字串否為空白檢
        System.out.println("是否為空白:"+StringUtils.isEmpty(""));
        System.out.println("A是否為空白:"+StringUtils.isEmpty("A"));
        System.out.println(" 是否為空白:"+StringUtils.isEmpty(" "));
        System.out.println("-------------------------------");
        //字串nvl
        System.out.println("空白 :"+StringUtils.nvl("", "啦啦啦"));
        System.out.println("非空白:"+StringUtils.nvl("AAA", "啦啦啦"));
        System.out.println("-------------------------------");
        
        //字串是否為數字
        System.out.println("123數字:"+StringUtils.intNvl("123", 0));
        System.out.println("A123數字:"+StringUtils.intNvl("A123", 0));
        System.out.println("-------------------------------");
        
        //字串是否為數字BigDecimal
        System.out.println("BigDecimal:");
        System.out.println("123數字:"+StringUtils.BigDecimalNvl("123", BigDecimal.ZERO));
        System.out.println("A123數字:"+StringUtils.BigDecimalNvl("A123", BigDecimal.ZERO));
        System.out.println("-------------------------------");
    }

發表迴響

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料