DecimalFormat

1,#与0

public static void main(String[] args) {
        DecimalFormat df1 = new DecimalFormat("#");
        System.out.println(df1.format(888.88888));//889
        DecimalFormat df2 = new DecimalFormat("#####");
        System.out.println(df2.format(888.88888));//889

        DecimalFormat df3 = new DecimalFormat("0");
        System.out.println(df3.format(888.88888));//889
        DecimalFormat df4 = new DecimalFormat("00000");
        System.out.println(df4.format(888.88888));//00889
    }

表示整数部分:一个#和多个#一样,都表示所有整数部分,但0比较特殊,当0的个数多于数字本身的时候,会用0补齐。

 

public static void main(String[] args) {
        DecimalFormat df1 = new DecimalFormat("#.#");
        System.out.println(df1.format(888.88888));//888.9
        DecimalFormat df2 = new DecimalFormat("#.###");
        System.out.println(df2.format(888.88888));//888.889
        DecimalFormat df3 = new DecimalFormat("#.#######");
        System.out.println(df3.format(888.88888));//888.88888

        DecimalFormat df4 = new DecimalFormat("0.0");
        System.out.println(df4.format(888.88888));//888.9
        DecimalFormat df5 = new DecimalFormat("0.000");
        System.out.println(df5.format(888.88888));//888.889
        DecimalFormat df6 = new DecimalFormat("0.0000000");
        System.out.println(df6.format(888.88888));//888.8888800
    }

表示小数部分,一个#表示一位小数,一个0也表示一位小数,但当0的个数多于小数部分的时候,会用0补齐。(均四舍五入)

 

2,分隔

public static void main(String[] args) {
        DecimalFormat df1 = new DecimalFormat(",###.#");
        System.out.println(df1.format(8888888.88888));//8,888,888.9

        DecimalFormat df2 = new DecimalFormat("#####,###.#");
        System.out.println(df2.format(8888888.88888));//8,888,888.9
    }

用逗号分隔整数部分,逗号后面有几个#表示每个几位用逗号分隔,与逗号前面的#无关

 

 3 BigDecimal

public static void main(String[] args) {
        DecimalFormat df5 = new DecimalFormat("#.00");
        DecimalFormat df6 = new DecimalFormat("0.00");
        System.out.println(df5.format(new BigDecimal("0.13")));//.13
        System.out.println(df6.format(new BigDecimal("0.13")));//0.13
    }

注意:BigDecimal整数部分为0的时候,整数format用#,小数format用0会导致没有0占位显示为“.13”

posted @ 2018-09-29 16:02  扶不起的刘阿斗  阅读(411)  评论(0编辑  收藏  举报