1. 程式人生 > >java double型別保留兩位小數4種方法

java double型別保留兩位小數4種方法

4種方法,都是四捨五入,例:

    import java.math.BigDecimal;
    import java.text.DecimalFormat;
    import java.text.NumberFormat;
    public class format {
        double f = 111231.5585;
        public void m1() {
            BigDecimal bg = new BigDecimal(f);
            double f1 = bg.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
            System.out.println(f1);
        }
        /**
         * DecimalFormat轉換最簡便
         */
        public void m2() {
            DecimalFormat df = new DecimalFormat("#.00");
            System.out.println(df.format(f));
        }
        /**
         * String.format列印最簡便
         */
        public void m3() {
            System.out.println(String.format("%.2f", f));
        }
        public void m4() {
            NumberFormat nf = NumberFormat.getNumberInstance();
            nf.setMaximumFractionDigits(2);
            System.out.println(nf.format(f));
        }
        public static void main(String[] args) {
            format f = new format();
            f.m1();
            f.m2();
            f.m3();
            f.m4();
        }
    }
//還有一種直接向上取整數

//java:Java的取整函式

//Math.floor()、Math.ceil()、BigDecimal都是Java中的取整函式,但返回值卻不一樣 Math.floor() 通過該函式計算後的返回值是捨去小數點後的數值 如:Math.floor(3.2)返回3 Math.floor(3.9)返回3 Math.floor(3.0)返回3 Math.ceil() ceil函式只要小數點非0,將返回整數部分+1 如:Math.ceil(3.2)返回4 Math.ceil(3.9)返回4 Math.ceil(3.0)返回3