目录:

1、左补0操作;

2、右边补空格;

3、去掉字符串前面0;

4、截取小数点后两位;

5、四舍五入,保留小数点后两位;

 

 功能:

1、左补0操作:

    /**
     * 左边补0
     * @param length 格式化数字长度
     * @param number 格式化数字
     * @return 格式化后数字。(如length:5,number:200,结果:00200)
     */
    public static String lpadZero(int length, Long number) {
        String f = "%0" + length + "d";
        return String.format(f, number);
    } 

测试示例:

    public static void main(String[] args) {
        int length = 8;
        Long num = 200L;
        String val = lpadZero(length, num);
        System.out.println("左边补0操作:"+val);
    }

运行结果:

 

 

2、右边补空格

    /**
     * 右边补空格
     * @param length 格式化字符串长度
     * @param val 格式化字符串
     * @return 格式化后字符串。(如length:5,val:200,结果:200  )
     */
    public static String lpadSpace(int length, String val) {
        return String.format("%1$-"+length+"s",val);
    }

测试示例:

    public static void main(String[] args) {
        int length = 8;
        String str = "hello";
        String val = lpadSpace(length, str);
        System.out.println("右边补空格操作:"+val);
    }

运行结果:

 

3、去掉字符串前面0

    /**
     * 去掉字符串前面0
     * @param str
     * @return 格式化后字符串。(如str:002,结果:2)
     */
    public static String deleteFirstZero(String str) {
        return str.replaceAll("^(0+)", "");
    }

测试示例:

    public static void main(String[] args) {
        String str = "000000200";
        String val = deleteFirstZero(str);
        System.out.println(val);
    }

运行结果:

4、截取小数点后两位

    /**
     * 截取小数点后两位
     * @param f 值
     * @return 格式化后的值
     */
    public static String doubleDowForM2(Double f) {  
        DecimalFormat df = new DecimalFormat("0.00"); 
        df.setRoundingMode(RoundingMode.DOWN); // 截取操作
        return df.format(f);
    }

测试示例1:

    public static void main(String[] args) {
        Double doub = 2.56899;
        String str = doubleDowForM2(doub);
        System.out.println(str);
    }

运行结果1:

测试示例2:

    public static void main(String[] args) {
//        Double doub = 2.56899;
        Double doub = 2.533333;
        String str = doubleDowForM2(doub);
        System.out.println(str);
    }

运行结果2:

 

5、四舍五入,保留小数点后两位

    /**
     * 四舍五入,保留小数点后两位
     * @param f
     * @return
     */
    public static String doubleDowForM2Rounding(Double f) {  
        DecimalFormat df = new DecimalFormat("0.00"); 
        return df.format(f);
    }

测试示例1:

    public static void main(String[] args) {
        Double doub = 2.56899;
        String str = doubleDowForM2Rounding(doub);
        System.out.println(str);
    }

运行结果1:

测试示例2:

    public static void main(String[] args) {
//        Double doub = 2.56899;
        Double doub = 2.533333;
        String str = doubleDowForM2Rounding(doub);
        System.out.println(str);
    }

 运行结果2: