天天看點

java中有關于DecimalFormat的使用

DecimalFormat用來格式化十進制數字,入保留小數,科學計算法等等。在DecimalFormat中,有以下幾種特殊字元,基本含義解釋如下:

代表一個任意數字,或者是在末尾補0
# 代表一個不包含0的任意數字
. 小數點占位符
分組分隔符占位符
- 減号或者負号,自動在數字前加負号
% 百分比計算,自動的
E 解學計算法

下面舉個例子實驗一下:

@Test
    public void myTest(){
        double dd;
        dd = 0.966545;
        //保留一位小數,四舍五入
        System.out.println(new DecimalFormat("0.0").format(dd)); //1.0
        System.out.println(new DecimalFormat("0.#").format(dd)); //1
        System.out.println(new DecimalFormat("#.#").format(dd)); //1
        System.out.println(new DecimalFormat("#.0").format(dd)); //1.0
        //保留兩位位小數,四舍五入
        System.out.println(new DecimalFormat("0.00").format(dd)); //0.97
        System.out.println(new DecimalFormat("0.##").format(dd)); //0.97
        System.out.println(new DecimalFormat("#.##").format(dd)); //0.97
        System.out.println(new DecimalFormat("#.00").format(dd)); //.97
        //百分比輸出,保留兩位小數
        dd = 0.999965;
        System.out.println(new DecimalFormat("0.00%").format(dd)); //100.00%
        System.out.println(new DecimalFormat("0.##%").format(dd)); //100%
        System.out.println(new DecimalFormat("#.##%").format(dd)); //100%
        System.out.println(new DecimalFormat("#.00%").format(dd)); //100.00%
        //将dd變為負數輸出,保留兩位小數
        System.out.println(new DecimalFormat("-0.00").format(dd)); //-1.00
        System.out.println(new DecimalFormat("-0.##").format(dd)); //-1
        System.out.println(new DecimalFormat("-#.##").format(dd)); //-1
        System.out.println(new DecimalFormat("-#.00").format(dd)); //-1.00
        /**當為#.#或者是#.##時,如果末尾為0,也就是說小數點之前或者之後為0,則會自動忽略0。**/
    }